diff -ru swfdec.orig/player/swfplay.c swfdec/player/swfplay.c --- swfdec.orig/player/swfplay.c 2012-01-03 14:49:26.818623019 -0800 +++ swfdec/player/swfplay.c 2012-01-04 16:32:03.625723140 -0800 @@ -154,7 +154,7 @@ swfdec_player_set_url (player, url); set_title (GTK_WINDOW (window), url); swfdec_gtk_player_set_missing_plugins_window (SWFDEC_GTK_PLAYER (player), - window->window); + gtk_widget_get_window (window)); swfdec_url_free (url); if (g_main_loop_is_running (loop)) diff -ru swfdec.orig/swfdec-gtk/swfdec_gtk_widget.c swfdec/swfdec-gtk/swfdec_gtk_widget.c --- swfdec.orig/swfdec-gtk/swfdec_gtk_widget.c 2012-01-03 14:49:26.841956718 -0800 +++ swfdec/swfdec-gtk/swfdec_gtk_widget.c 2012-01-03 22:04:52.442129705 -0800 @@ -83,7 +83,7 @@ SwfdecGtkWidgetPrivate *priv = widget->priv; int x, y; - gdk_window_get_pointer (gtkwidget->window, &x, &y, NULL); + gdk_window_get_pointer (gtk_widget_get_window (gtkwidget), &x, &y, NULL); if (priv->interactive && priv->player) swfdec_player_mouse_move (priv->player, x, y); @@ -256,10 +256,11 @@ { SwfdecGtkWidget *widget = SWFDEC_GTK_WIDGET (gtkwidget); SwfdecGtkWidgetPrivate *priv = widget->priv; + GdkWindow *gdkwindow = gtk_widget_get_window (gtkwidget); cairo_t *cr; cairo_surface_t *surface = NULL; - if (event->window != gtkwidget->window || + if (event->window != gdkwindow || priv->fullscreen_window != NULL) return FALSE; @@ -270,7 +271,7 @@ if (!priv->renderer_set || (surface = swfdec_gtk_widget_create_renderer (priv->renderer_type, event->area.width, event->area.height)) == NULL) { - cr = gdk_cairo_create (gtkwidget->window); + cr = gdk_cairo_create (gdkwindow); } else { cairo_surface_set_device_offset (surface, -event->area.x, -event->area.y); cr = cairo_create (surface); @@ -286,7 +287,7 @@ cairo_destroy (cr); if (surface) { - cairo_t *crw = gdk_cairo_create (gtkwidget->window); + cairo_t *crw = gdk_cairo_create (gdkwindow); cairo_set_source_surface (crw, surface, 0, 0); cairo_paint (crw); cairo_destroy (crw); @@ -380,12 +381,12 @@ SwfdecGtkWidget *widget = SWFDEC_GTK_WIDGET (gtkwidget); SwfdecGtkWidgetPrivate *priv = widget->priv; - gtkwidget->allocation = *allocation; + gtk_widget_set_allocation (gtkwidget, allocation); if (priv->player && swfdec_player_is_initialized (priv->player)) swfdec_player_set_size (priv->player, allocation->width, allocation->height); - if (GTK_WIDGET_REALIZED (gtkwidget)) { - gdk_window_move_resize (gtkwidget->window, + if (gtk_widget_get_realized (gtkwidget)) { + gdk_window_move_resize (gtk_widget_get_window (gtkwidget), allocation->x, allocation->y, allocation->width, allocation->height); } } @@ -415,7 +416,7 @@ static void swfdec_gtk_widget_update_cursor (SwfdecGtkWidget *widget) { - GdkWindow *window = GTK_WIDGET (widget)->window; + GdkWindow *window = gtk_widget_get_window (GTK_WIDGET (widget)); GdkDisplay *display = gtk_widget_get_display (GTK_WIDGET (widget)); SwfdecGtkWidgetPrivate *priv = widget->priv; SwfdecMouseCursor swfcursor; @@ -472,7 +473,7 @@ SwfdecGtkWidgetPrivate *priv = widget->priv; gboolean needs_renderer; - needs_renderer = GTK_WIDGET_REALIZED (widget) && + needs_renderer = gtk_widget_get_realized (GTK_WIDGET (widget)) && priv->player != NULL; if (priv->renderer != NULL) { @@ -496,7 +497,7 @@ cairo_surface_destroy (surface); } } else { - cairo_t *cr = gdk_cairo_create (GTK_WIDGET (widget)->window); + cairo_t *cr = gdk_cairo_create (gtk_widget_get_window (GTK_WIDGET (widget))); priv->renderer = swfdec_renderer_new_for_player ( cairo_get_target (cr), priv->player); @@ -509,7 +510,7 @@ static void swfdec_gtk_widget_update_background (SwfdecGtkWidget *widget) { - GdkWindow *window = GTK_WIDGET (widget)->window; + GdkWindow *window = gtk_widget_get_window (GTK_WIDGET (widget)); GdkColor bgcolor; if (window == NULL) @@ -533,15 +534,17 @@ swfdec_gtk_widget_realize (GtkWidget *widget) { GdkWindowAttr attributes; + GtkAllocation allocation; gint attributes_mask; - - GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED); + + gtk_widget_set_realized (widget, TRUE); + gtk_widget_get_allocation (widget, &allocation); attributes.window_type = GDK_WINDOW_CHILD; - attributes.x = widget->allocation.x; - attributes.y = widget->allocation.y; - attributes.width = widget->allocation.width; - attributes.height = widget->allocation.height; + attributes.x = allocation.x; + attributes.y = allocation.y; + attributes.width = allocation.width; + attributes.height = allocation.height; attributes.wclass = GDK_INPUT_OUTPUT; attributes.event_mask = gtk_widget_get_events (widget); attributes.event_mask |= GDK_EXPOSURE_MASK | @@ -556,12 +559,12 @@ attributes_mask = GDK_WA_X | GDK_WA_Y; - widget->window = gdk_window_new (gtk_widget_get_parent_window (widget), - &attributes, attributes_mask); - gdk_window_set_user_data (widget->window, widget); + gtk_widget_set_window (widget, gdk_window_new (gtk_widget_get_parent_window (widget), + &attributes, attributes_mask)); + gdk_window_set_user_data (gtk_widget_get_window (widget), widget); swfdec_gtk_widget_update_background (SWFDEC_GTK_WIDGET (widget)); - widget->style = gtk_style_attach (widget->style, widget->window); + gtk_widget_set_style (widget, gtk_style_attach (gtk_widget_get_style (widget), gtk_widget_get_window (widget))); if (SWFDEC_GTK_WIDGET (widget)->priv->player) { swfdec_gtk_widget_update_cursor (SWFDEC_GTK_WIDGET (widget)); @@ -662,7 +665,7 @@ gtk_widget_set_double_buffered (GTK_WIDGET (widget), FALSE); - GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_FOCUS); + gtk_widget_set_can_focus (GTK_WIDGET (widget), TRUE); } static gboolean @@ -671,9 +674,9 @@ SwfdecGtkWidget *widget = widgetp; SwfdecGtkWidgetPrivate *priv = widget->priv; - g_assert (GTK_WIDGET_REALIZED (widget)); + g_assert (gtk_widget_get_realized (GTK_WIDGET (widget))); - gdk_window_invalidate_region (GTK_WIDGET (widget)->window, priv->invalid, FALSE); + gdk_window_invalidate_region (gtk_widget_get_window (GTK_WIDGET (widget)), priv->invalid, FALSE); swfdec_gtk_widget_clear_invalidations (widget); return FALSE; } @@ -685,7 +688,7 @@ SwfdecGtkWidgetPrivate *priv = widget->priv; guint i; - if (!GTK_WIDGET_MAPPED (widget) || + if (!gtk_widget_get_mapped (GTK_WIDGET (widget)) || priv->fullscreen_window != NULL) return; @@ -738,7 +741,7 @@ swfdec_gtk_widget_update_background (widget); } else if (g_str_equal (pspec->name, "selection")) { const char *text = swfdec_player_get_selection (player); - if (GTK_WIDGET_HAS_FOCUS (widget) && text) { + if (gtk_widget_has_focus (GTK_WIDGET (widget)) && text) { GtkClipboard *clipboard = gtk_widget_get_clipboard (GTK_WIDGET (widget), GDK_SELECTION_PRIMARY); gtk_clipboard_set_text (clipboard, text, -1); @@ -757,7 +760,7 @@ return FALSE; if (fullscreen) { - GdkWindow *window = GTK_WIDGET (widget)->window; + GdkWindow *window = gtk_widget_get_window (GTK_WIDGET (widget)); GdkScreen *screen; GdkRectangle rect; int monitor; @@ -771,8 +774,10 @@ *height = rect.height; } else { GtkWidget *gtkwidget = GTK_WIDGET (widget); - *width = gtkwidget->allocation.width; - *height = gtkwidget->allocation.height; + GtkAllocation allocation; + gtk_widget_get_allocation (gtkwidget, &allocation); + *width = allocation.width; + *height = allocation.height; } return TRUE; } @@ -805,10 +810,10 @@ g_signal_connect (player, "query-size", G_CALLBACK (swfdec_gtk_widget_query_size_cb), widget); g_object_ref (player); swfdec_gtk_widget_update_cursor (widget); - swfdec_player_set_focus (player, GTK_WIDGET_HAS_FOCUS (GTK_WIDGET (widget))); + swfdec_player_set_focus (player, gtk_widget_has_focus (GTK_WIDGET (widget))); } else { - if (GTK_WIDGET (widget)->window) - gdk_window_set_cursor (GTK_WIDGET (widget)->window, NULL); + if (gtk_widget_get_window (GTK_WIDGET (widget))) + gdk_window_set_cursor (gtk_widget_get_window (GTK_WIDGET (widget)), NULL); } if (priv->player) { g_signal_handlers_disconnect_by_func (priv->player, swfdec_gtk_widget_invalidate_cb, widget);