From 28eebcf383dd4d6171811dcc7226f5fe44d3560a Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Mon, 9 Aug 2010 21:17:37 -0400 Subject: [PATCH] Towards GSEAL-clean build on win32 Use accessors instead of direct member access in a few places. Bug 625655. (cherry picked from commit 4047d0526deffe2c0d3545d86a7fa096423b1c46) --- gtk/gtkwin32embedwidget.c | 37 +++++++++++++++----------- modules/engines/ms-windows/msw_style.c | 2 +- 2 files changed, 23 insertions(+), 16 deletions(-) diff --git a/gtk/gtkwin32embedwidget.c b/gtk/gtkwin32embedwidget.c index 9c276ea3b4..da3f4d6579 100644 --- a/gtk/gtkwin32embedwidget.c +++ b/gtk/gtkwin32embedwidget.c @@ -265,14 +265,16 @@ gtk_win32_embed_widget_hide (GtkWidget *widget) static void gtk_win32_embed_widget_map (GtkWidget *widget) { - GtkBin *bin = GTK_BIN (widget); - + GtkBin *bin = GTK_BIN (widget); + GtkWidget *child; + gtk_widget_set_mapped (widget, TRUE); - - if (bin->child && - gtk_widget_get_visible (bin->child) && - !gtk_widget_get_mapped (bin->child)) - gtk_widget_map (bin->child); + + child = gtk_bin_get_child (bin); + if (child && + gtk_widget_get_visible (child) && + !gtk_widget_get_mapped (child)) + gtk_widget_map (child); gdk_window_show (widget->window); } @@ -288,7 +290,8 @@ static void gtk_win32_embed_widget_size_allocate (GtkWidget *widget, GtkAllocation *allocation) { - GtkBin *bin = GTK_BIN (widget); + GtkBin *bin = GTK_BIN (widget); + GtkWidget *child; widget->allocation = *allocation; @@ -296,18 +299,20 @@ gtk_win32_embed_widget_size_allocate (GtkWidget *widget, gdk_window_move_resize (widget->window, allocation->x, allocation->y, allocation->width, allocation->height); - - if (bin->child && gtk_widget_get_visible (bin->child)) + + child = gtk_bin_get_child (bin); + if (child && gtk_widget_get_visible (child)) { GtkAllocation child_allocation; - child_allocation.x = child_allocation.y = GTK_CONTAINER (widget)->border_width; + child_allocation.x = gtk_container_get_border_width (GTK_CONTAINER (widget)); + child_allocation.y = child_allocation.x; child_allocation.width = MAX (1, (gint)allocation->width - child_allocation.x * 2); child_allocation.height = MAX (1, (gint)allocation->height - child_allocation.y * 2); - gtk_widget_size_allocate (bin->child, &child_allocation); + gtk_widget_size_allocate (child, &child_allocation); } } @@ -325,8 +330,9 @@ gtk_win32_embed_widget_focus (GtkWidget *widget, GtkWin32EmbedWidget *embed_widget = GTK_WIN32_EMBED_WIDGET (widget); GtkWindow *window = GTK_WINDOW (widget); GtkContainer *container = GTK_CONTAINER (widget); - GtkWidget *old_focus_child = container->focus_child; + GtkWidget *old_focus_child = gtk_container_get_focus_child (container); GtkWidget *parent; + GtkWidget *child; /* We override GtkWindow's behavior, since we don't want wrapping here. */ @@ -351,11 +357,12 @@ gtk_win32_embed_widget_focus (GtkWidget *widget, else { /* Try to focus the first widget in the window */ - if (bin->child && gtk_widget_child_focus (bin->child, direction)) + child = gtk_bin_get_child (bin); + if (child && gtk_widget_child_focus (child, direction)) return TRUE; } - if (!GTK_CONTAINER (window)->focus_child) + if (!gtk_container_get_focus_child (GTK_CONTAINER (window))) { int backwards = FALSE; diff --git a/modules/engines/ms-windows/msw_style.c b/modules/engines/ms-windows/msw_style.c index c69d1c7bb4..caf8c8c62b 100755 --- a/modules/engines/ms-windows/msw_style.c +++ b/modules/engines/ms-windows/msw_style.c @@ -1062,7 +1062,7 @@ map_gtk_progress_bar_to_xp (GtkProgressBar *progress_bar, gboolean trough) { XpThemeElement ret; - switch (progress_bar->orientation) + switch (gtk_progress_bar_get_orientation (progress_bar)) { case GTK_PROGRESS_LEFT_TO_RIGHT: case GTK_PROGRESS_RIGHT_TO_LEFT: