diff options
author | Cosimo Cecchi <cosimoc@gnome.org> | 2015-06-27 13:15:41 -0700 |
---|---|---|
committer | Cosimo Cecchi <cosimoc@gnome.org> | 2015-07-01 16:09:23 -0700 |
commit | 88326488466cb74a05a96acfc5b4bc51961d692c (patch) | |
tree | 4653b9bfd9662aa0308b742835ca1448ac8b3c4d | |
parent | 06b943fec91ff9f1d612473901a0af049857f8e9 (diff) | |
download | gtk+-88326488466cb74a05a96acfc5b4bc51961d692c.tar.gz |
socket: don't call gtk_style_context_set_background()
-rw-r--r-- | gtk/gtksocket.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/gtk/gtksocket.c b/gtk/gtksocket.c index b59deb1370..579a1f6c7b 100644 --- a/gtk/gtksocket.c +++ b/gtk/gtksocket.c @@ -34,6 +34,7 @@ #include "gtksizerequest.h" #include "gtkplug.h" #include "gtkprivate.h" +#include "gtkrender.h" #include "gtkdnd.h" #include "gtkdebug.h" #include "gtkintl.h" @@ -185,6 +186,18 @@ gtk_socket_finalize (GObject *object) G_OBJECT_CLASS (gtk_socket_parent_class)->finalize (object); } +static gboolean +gtk_socket_draw (GtkWidget *widget, + cairo_t *cr) +{ + gtk_render_background (gtk_widget_get_style_context (widget), cr, + 0, 0, + gtk_widget_get_allocated_width (widget), + gtk_widget_get_allocated_height (widget)); + + return GTK_WIDGET_CLASS (gtk_socket_parent_class)->draw (widget, cr); +} + static void gtk_socket_class_init (GtkSocketClass *class) { @@ -209,6 +222,7 @@ gtk_socket_class_init (GtkSocketClass *class) widget_class->key_press_event = gtk_socket_key_event; widget_class->key_release_event = gtk_socket_key_event; widget_class->focus = gtk_socket_focus; + widget_class->draw = gtk_socket_draw; /* We don't want to show_all the in-process plug, if any. */ @@ -398,9 +412,6 @@ gtk_socket_realize (GtkWidget *widget) gtk_widget_set_window (widget, window); gtk_widget_register_window (widget, window); - gtk_style_context_set_background (gtk_widget_get_style_context (widget), - window); - XGetWindowAttributes (GDK_WINDOW_XDISPLAY (window), GDK_WINDOW_XID (window), &xattrs); |