[maemo-commits] [maemo-commits] r14074 - in projects/haf/trunk/hildon-desktop: . libhildondesktop

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Tue Sep 25 15:24:11 EEST 2007
Author: jobi
Date: 2007-09-25 15:24:10 +0300 (Tue, 25 Sep 2007)
New Revision: 14074

Modified:
   projects/haf/trunk/hildon-desktop/ChangeLog
   projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-home-area.c
Log:

2007-09-25 Johan Bilien  <johan.bilien at nokia.com>

	* hildon-home-area.c (hildon_home_area_child_save_position): if
	the widget is not allocated, use the requisition. Fixes: NB#69699



Modified: projects/haf/trunk/hildon-desktop/ChangeLog
===================================================================
--- projects/haf/trunk/hildon-desktop/ChangeLog	2007-09-25 11:55:43 UTC (rev 14073)
+++ projects/haf/trunk/hildon-desktop/ChangeLog	2007-09-25 12:24:10 UTC (rev 14074)
@@ -1,5 +1,10 @@
 2007-09-25 Johan Bilien  <johan.bilien at nokia.com>
 
+	* hildon-home-area.c (hildon_home_area_child_save_position): if
+	the widget is not allocated, use the requisition. Fixes: NB#69699
+
+2007-09-25 Johan Bilien  <johan.bilien at nokia.com>
+
 	* home-item.[ch]: added empty wrapper around HildonDesktopHomeItem,
 	for API coherence with TasknavigatorItem and StatusbarItem.
 

Modified: projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-home-area.c
===================================================================
--- projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-home-area.c	2007-09-25 11:55:43 UTC (rev 14073)
+++ projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-home-area.c	2007-09-25 12:24:10 UTC (rev 14074)
@@ -1821,6 +1821,7 @@
 hildon_home_area_child_save_position (ChildData *child, GKeyFile *keyfile)
 {
   const gchar  *id;
+  guint         width, height;
 
   if (!HILDON_DESKTOP_IS_HOME_ITEM (child->widget))
     return;
@@ -1828,6 +1829,18 @@
   id = hildon_desktop_item_get_id (HILDON_DESKTOP_ITEM (child->widget));
   g_return_if_fail (id);
 
+  width  = child->widget->allocation.width;
+  height = child->widget->allocation.height;
+
+  if (width == 1 && height == 1)
+  {
+    GtkRequisition req = {0};
+    /* If the child has not been allocated yet, use the size request ... */
+    gtk_widget_size_request (child->widget, &req);
+    width  = req.width;
+    height = req.height;
+  }
+
   g_key_file_set_integer (keyfile,
                           id,
                           HH_APPLET_KEY_X,
@@ -1846,12 +1859,12 @@
   g_key_file_set_integer (keyfile,
                           id,
                           HH_APPLET_KEY_WIDTH,
-                          child->widget->allocation.width);
+                          width);
 
   g_key_file_set_integer (keyfile,
                           id,
                           HH_APPLET_KEY_HEIGHT,
-                          child->widget->allocation.height);
+                          height);
 
 }
 


More information about the maemo-commits mailing list