[gtk+] statusicon: fix the build on !X11



commit 392cdff697e6adf931af8ab15ef02009e44f109f
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Mon Dec 5 13:21:11 2011 -0500

    statusicon: fix the build on !X11
    
    Uninevitable fallout from my last patch to GtkStatusIcon. Thanks to Rob
    Bradford for testing this.

 gtk/gtkstatusicon.c |   25 +++++++++++--------------
 1 files changed, 11 insertions(+), 14 deletions(-)
---
diff --git a/gtk/gtkstatusicon.c b/gtk/gtkstatusicon.c
index f12a20a..bb0abe3 100644
--- a/gtk/gtkstatusicon.c
+++ b/gtk/gtkstatusicon.c
@@ -132,10 +132,11 @@ struct _GtkStatusIconPrivate
 #ifdef GDK_WINDOWING_X11
   GtkWidget    *tray_icon;
   GtkWidget    *image;
+#else
+  GtkWidget    *dummy_widget;
 #endif
 
 #ifdef GDK_WINDOWING_WIN32
-  GtkWidget     *dummy_widget;
   NOTIFYICONDATAW nid;
   gint          taskbar_top;
   gint		last_click_x, last_click_y;
@@ -145,7 +146,6 @@ struct _GtkStatusIconPrivate
 #endif
 	
 #ifdef GDK_WINDOWING_QUARTZ
-  GtkWidget     *dummy_widget;
   GtkQuartzStatusIcon *status_item;
   gchar         *tooltip_text;
   gchar         *title;
@@ -891,6 +891,8 @@ gtk_status_icon_init (GtkStatusIcon *status_icon)
   g_signal_connect_swapped (priv->image, "size-allocate",
 			    G_CALLBACK (gtk_status_icon_size_allocate), status_icon);
 
+#else /* !GDK_WINDOWING_X11 */
+  priv->dummy_widget = gtk_label_new ("");
 #endif
 
 #ifdef GDK_WINDOWING_WIN32
@@ -913,7 +915,6 @@ gtk_status_icon_init (GtkStatusIcon *status_icon)
 
   /* Are the system tray icons always 16 pixels square? */
   priv->size         = 16;
-  priv->dummy_widget = gtk_label_new ("");
 
   memset (&priv->nid, 0, sizeof (priv->nid));
 
@@ -944,8 +945,6 @@ gtk_status_icon_init (GtkStatusIcon *status_icon)
 #endif
 	
 #ifdef GDK_WINDOWING_QUARTZ
-  priv->dummy_widget = gtk_label_new ("");
-
   QUARTZ_POOL_ALLOC;
 
   priv->status_item = [[GtkQuartzStatusIcon alloc] initWithStatusIcon:status_icon];
@@ -1020,6 +1019,8 @@ gtk_status_icon_finalize (GObject *object)
 		    	                gtk_status_icon_screen_changed, status_icon);
   gtk_widget_destroy (priv->image);
   gtk_widget_destroy (priv->tray_icon);
+#else /* !GDK_WINDOWING_X11 */
+  gtk_widget_destroy (priv->dummy_widget);
 #endif
 
 #ifdef GDK_WINDOWING_WIN32
@@ -1029,8 +1030,6 @@ gtk_status_icon_finalize (GObject *object)
     DestroyIcon (priv->nid.hIcon);
   g_free (priv->tooltip_text);
 
-  gtk_widget_destroy (priv->dummy_widget);
-
   status_icons = g_slist_remove (status_icons, status_icon);
 #endif
 	
@@ -1309,8 +1308,6 @@ emit_size_changed_signal (GtkStatusIcon *status_icon,
 
 #endif
 
-#ifdef GDK_WINDOWING_X11
-
 /* rounds the pixel size to the nearest size avaiable in the theme */
 static gint
 round_pixel_size (GtkWidget *widget, 
@@ -1348,8 +1345,6 @@ round_pixel_size (GtkWidget *widget,
   return size;
 }
 
-#endif
-
 static void
 gtk_status_icon_update_image (GtkStatusIcon *status_icon)
 {
@@ -1358,17 +1353,19 @@ gtk_status_icon_update_image (GtkStatusIcon *status_icon)
   HICON prev_hicon;
 #endif
   GtkStyleContext *context;
+  GtkWidget *widget;
   GtkImageType storage_type = _gtk_icon_helper_get_storage_type (priv->icon_helper);
   GdkPixbuf *pixbuf;
   gint round_size;
 
 #ifdef GDK_WINDOWING_X11
-  context = gtk_widget_get_style_context (priv->image);
+  widget = priv->image;
 #else
-  context = gtk_widget_get_style_context (priv->dummy_widget);
+  widget = priv->dummy_widget;
 #endif
 
-  round_size = round_pixel_size (priv->image, priv->size);
+  context = gtk_widget_get_style_context (widget);
+  round_size = round_pixel_size (widget, priv->size);
 
   if (storage_type == GTK_IMAGE_PIXBUF)
     {



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