[maemo-commits] [maemo-commits] r9914 - in projects/haf/branches/maemo-af-desktop/hildon-desktop: . libhildondesktop

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Thu Feb 15 16:57:17 EET 2007
Author: moimart
Date: 2007-02-15 16:57:15 +0200 (Thu, 15 Feb 2007)
New Revision: 9914

Modified:
   projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog
   projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-panel-expandable.c
   projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-panel.h
Log:

	* lbihildondesktop/hildon-desktop-panel-expandable.c:
        - Only if created systray stuff, remove them when finalizing.
        * libhildondesktop/hildon-desktop-panel.h:
        - Added missing _GET_CLASS macro
	* ChangeLog updated.



Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog
===================================================================
--- projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog	2007-02-15 14:47:21 UTC (rev 9913)
+++ projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog	2007-02-15 14:57:15 UTC (rev 9914)
@@ -1,3 +1,10 @@
+2007-02-15  Moises Martinez  <moises.martinez at nokia.com>
+
+	* lbihildondesktop/hildon-desktop-panel-expandable.c:
+	- Only if created systray stuff, remove them when finalizing.
+	* libhildondesktop/hildon-desktop-panel.h:
+	- Added missing _GET_CLASS macro
+
 2007-02-15  Johan Bilien  <johan.bilien at nokia.com>
 
 	* background-manager/background-manager.c: Disable OOM watchdog

Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-panel-expandable.c
===================================================================
--- projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-panel-expandable.c	2007-02-15 14:47:21 UTC (rev 9913)
+++ projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-panel-expandable.c	2007-02-15 14:57:15 UTC (rev 9914)
@@ -77,6 +77,7 @@
 #ifdef SYSTRAY_SUPPORT
   Atom 	      tray_opcode;
   GtkWidget  *invisible;
+  gboolean    filter_added;
 #endif
 };
 
@@ -191,6 +192,9 @@
   panel->priv->queued_items = NULL;
   panel->priv->extension_opened = FALSE;
   panel->priv->extension_table = NULL;
+#ifdef SYSTRAY_SUPPORT
+  panel->priv->filter_added = FALSE;
+#endif
 }
 
 GObject *
@@ -253,11 +257,13 @@
 
   g_hash_table_destroy (panel->priv->items);
 #ifdef SYSTRAY_SUPPORT
-  gtk_widget_destroy (panel->priv->invisible);
+  if (panel->priv->invisible)
+    gtk_widget_destroy (panel->priv->invisible);
 
-  gdk_window_remove_filter (panel->priv->invisible->window,
-		  	    hildon_desktop_x_event_filter,
-			    panel);
+  if (panel->priv->filter_added)
+    gdk_window_remove_filter (panel->priv->invisible->window,
+		  	      hildon_desktop_x_event_filter,
+			      panel);
 #endif
   G_OBJECT_CLASS (hildon_desktop_panel_expandable_parent_class)->finalize (object);
 }
@@ -337,13 +343,19 @@
   HildonDesktopPanelItem *item = HILDON_DESKTOP_PANEL_ITEM (button);
   HildonDesktopPanelExpandable *ex_panel = HILDON_DESKTOP_PANEL_EXPANDABLE (panel);
   gint item_width,item_height;
+  GtkRequisition req;
 
   g_signal_emit_by_name (ex_panel, "queued-button", button);
 
   g_debug ("Adding button in expandable %d %d",ex_panel->priv->items_p_row,ex_panel->priv->n_items+1);
 
+  gtk_widget_size_request (button, &req);
+  
   g_object_get (G_OBJECT (panel), "item_width", &item_width, "item_height", &item_height, NULL);
-  
+
+  if (req.width > item_width)
+    item_width = req.width;
+	  
   gtk_widget_set_size_request (button, item_width, item_height);
 
   g_signal_connect (button,
@@ -715,6 +727,7 @@
 			   hildon_desktop_x_event_filter,
 			   (gpointer)panel);
 
+    panel->priv->filter_added = TRUE;
   }
 
   g_free (tray_string);

Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-panel.h
===================================================================
--- projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-panel.h	2007-02-15 14:47:21 UTC (rev 9913)
+++ projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-panel.h	2007-02-15 14:57:15 UTC (rev 9914)
@@ -39,6 +39,7 @@
 #define HILDON_DESKTOP_PANEL_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), HILDON_DESKTOP_TYPE_PANEL, HildonDesktopPanelClass))
 #define HILDON_DESKTOP_IS_PANEL(obj)         (GTK_CHECK_TYPE (obj, HILDON_DESKTOP_TYPE_PANEL))
 #define HILDON_DESKTOP_IS_PANEL_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), HILDON_DESKTOP_TYPE_PANEL))
+#define HILDON_DESKTOP_PANEL_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), HILDON_DESKTOP_TYPE_PANEL, HildonDesktopPanelClass))
 
 struct _HildonDesktopPanel
 {


More information about the maemo-commits mailing list