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

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Mon Sep 10 16:55:44 EEST 2007
Author: jobi
Date: 2007-09-10 16:55:42 +0300 (Mon, 10 Sep 2007)
New Revision: 13712

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

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

	* libhildondesktop/hildon-home-area.c:
	- when placing the applet, start by setting the parent, so
	the first size request is correct
	- set widget_child_visible to FALSE until placed, to avoid
	flickering.
	Fixes: NB#55915



Modified: projects/haf/trunk/hildon-desktop/ChangeLog
===================================================================
--- projects/haf/trunk/hildon-desktop/ChangeLog	2007-09-10 13:24:26 UTC (rev 13711)
+++ projects/haf/trunk/hildon-desktop/ChangeLog	2007-09-10 13:55:42 UTC (rev 13712)
@@ -1,3 +1,12 @@
+2007-09-10 Johan Bilien  <johan.bilien at nokia.com>
+
+	* libhildondesktop/hildon-home-area.c:
+	- when placing the applet, start by setting the parent, so
+	the first size request is correct
+	- set widget_child_visible to FALSE until placed, to avoid
+	flickering.
+	Fixes: NB#55915
+
 2007-09-10  Lucas Rocha  <lucas.rocha at nokia.com>
 
 	* src/hd-switcher-menu.c (hd_switcher_menu_create_notifications_menu,

Modified: projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-home-area.c
===================================================================
--- projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-home-area.c	2007-09-10 13:24:26 UTC (rev 13711)
+++ projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-home-area.c	2007-09-10 13:55:42 UTC (rev 13712)
@@ -1670,8 +1670,9 @@
 
   region = g_list_sort (region, (GCompareFunc)sort_rectangles);
 
+  gtk_widget_set_child_visible (w, FALSE);
+  gtk_widget_set_parent (w, GTK_WIDGET (area));
   gtk_widget_size_request (w, &req);
-  g_debug ("size request: %ix%i", req.width, req.height);
 
   if (req.width > area_rectangle->width ||
       req.height > area_rectangle->height)
@@ -1688,6 +1689,7 @@
     g_hash_table_insert (priv->layout, g_strdup (name), layout);
     hildon_home_area_put (area, w, 0, 0, G_MAXINT);
     g_signal_emit_by_name (area, "layout-changed");
+    gtk_widget_set_child_visible (w, TRUE);
 
     g_list_foreach (region, (GFunc)g_free, NULL);
     g_list_free (region);
@@ -1716,6 +1718,7 @@
 
         g_hash_table_insert (priv->layout, g_strdup (name), layout);
         hildon_home_area_put (area, w, r->x, r->y, G_MAXINT);
+        gtk_widget_set_child_visible (w, TRUE);
         g_signal_emit_by_name (area, "layout-changed");
 
 
@@ -2083,7 +2086,9 @@
 
   g_return_if_fail (HILDON_IS_HOME_AREA (area) && GTK_IS_WIDGET (widget));
 
-  gtk_widget_set_parent (widget, GTK_WIDGET (area));
+  g_debug ("setting parent");
+  if (widget->parent != GTK_WIDGET (area))
+    gtk_widget_set_parent (widget, GTK_WIDGET (area));
 
   if (HILDON_DESKTOP_IS_HOME_ITEM (widget))
     g_object_get (widget,


More information about the maemo-commits mailing list