hippo-canvas r7246 - trunk/linux/hippo



Author: otaylor
Date: Mon Mar 31 04:47:13 2008
New Revision: 7246
URL: http://svn.gnome.org/viewvc/hippo-canvas?rev=7246&view=rev

Log:
Set the background properly on theme changes, rather than letting it get reset to
the default background color.


Modified:
   trunk/linux/hippo/hippo-canvas-window.c
   trunk/linux/hippo/hippo-canvas.c

Modified: trunk/linux/hippo/hippo-canvas-window.c
==============================================================================
--- trunk/linux/hippo/hippo-canvas-window.c	(original)
+++ trunk/linux/hippo/hippo-canvas-window.c	Mon Mar 31 04:47:13 2008
@@ -22,7 +22,9 @@
                                            GValue       *value,
                                            GParamSpec   *pspec);
 
-static void  hippo_canvas_window_realize (GtkWidget    *widget);
+static void hippo_canvas_window_realize   (GtkWidget *widget);
+static void hippo_canvas_window_style_set (GtkWidget *widget,
+                                           GtkStyle  *previous_style);
 
 static gboolean  hippo_canvas_window_button_press        (GtkWidget         *widget,
                                                           GdkEventButton    *event);
@@ -74,6 +76,7 @@
     object_class->finalize = hippo_canvas_window_finalize;
 
     widget_class->realize = hippo_canvas_window_realize;
+    widget_class->style_set = hippo_canvas_window_style_set;
     widget_class->button_press_event = hippo_canvas_window_button_press;
     widget_class->button_release_event = hippo_canvas_window_button_release;
     widget_class->motion_notify_event = hippo_canvas_window_motion_notify;
@@ -179,6 +182,16 @@
     hippo_canvas_helper_set_window_background(canvas_window->helper, widget->window);
 }
 
+static void
+hippo_canvas_window_style_set (GtkWidget *widget,
+                               GtkStyle  *previous_style)
+{
+    if (GTK_WIDGET_REALIZED (widget)) {
+        HippoCanvasWindow *canvas_window = HIPPO_CANVAS_WINDOW(widget);
+        hippo_canvas_helper_set_window_background(canvas_window->helper, widget->window);
+    }
+}
+
 static gboolean
 hippo_canvas_window_button_press(GtkWidget         *widget,
                                  GdkEventButton    *event)

Modified: trunk/linux/hippo/hippo-canvas.c
==============================================================================
--- trunk/linux/hippo/hippo-canvas.c	(original)
+++ trunk/linux/hippo/hippo-canvas.c	Mon Mar 31 04:47:13 2008
@@ -45,6 +45,8 @@
 
 
 static void  hippo_canvas_realize           (GtkWidget    *widget);
+static void  hippo_canvas_style_set         (GtkWidget    *widget,
+                                             GtkStyle     *previous_style);
 static void  hippo_canvas_unmap             (GtkWidget    *widget);
 static void  hippo_canvas_hierarchy_changed (GtkWidget    *widget,
                                              GtkWidget    *old_toplevel);
@@ -115,6 +117,7 @@
     widget_class->scroll_event = hippo_canvas_scroll;    
 
     widget_class->realize = hippo_canvas_realize;
+    widget_class->style_set = hippo_canvas_style_set;
     widget_class->unmap = hippo_canvas_unmap;
     widget_class->hierarchy_changed = hippo_canvas_hierarchy_changed;
     
@@ -371,6 +374,16 @@
 }
 
 static void
+hippo_canvas_style_set (GtkWidget *widget,
+                        GtkStyle  *previous_style)
+{
+    if (GTK_WIDGET_REALIZED (widget)) {
+        HippoCanvas *canvas = HIPPO_CANVAS(widget);
+        hippo_canvas_helper_set_window_background(canvas->helper, widget->window);
+    }
+}
+
+static void
 hippo_canvas_unmap(GtkWidget    *widget)
 {
     HippoCanvas *canvas = HIPPO_CANVAS(widget);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]