[maemo-commits] [maemo-commits] r11978 - in projects/haf/trunk/hildon-1: . src

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Wed May 30 14:26:28 EEST 2007
Author: xan
Date: 2007-05-30 14:26:27 +0300 (Wed, 30 May 2007)
New Revision: 11978

Modified:
   projects/haf/trunk/hildon-1/ChangeLog
   projects/haf/trunk/hildon-1/src/hildon-bread-crumb-trail.c
Log:
	* src/hildon-bread-crumb-trail.c (crumb_activated_cb): be very paranoid about
	the internal state of the trail after the user has had the chance of executing
	his handler for the signal. Specifically, it may happen that the activated button
	is removed and the user still lets the default handler run. This would segfault
	previously.


Modified: projects/haf/trunk/hildon-1/ChangeLog
===================================================================
--- projects/haf/trunk/hildon-1/ChangeLog	2007-05-30 11:14:23 UTC (rev 11977)
+++ projects/haf/trunk/hildon-1/ChangeLog	2007-05-30 11:26:27 UTC (rev 11978)
@@ -1,5 +1,13 @@
-2007-05-28  Michael Dominic K.  <mdk at mdk.am> 
+2007-05-30  Xan Lopez  <xan.lopez at nokia.com>
 
+	* src/hildon-bread-crumb-trail.c (crumb_activated_cb): be very paranoid about
+	the internal state of the trail after the user has had the chance of executing
+	his handler for the signal. Specifically, it may happen that the activated button
+	is removed and the user still lets the default handler run. This would segfault
+	previously.
+
+2007-05-28  Michael Dominic K.  <michael.kostrzewa at nokia.com> 
+
 	* src/hildon-font-selection-dialog.c: When the font is really big, add the
 	scrollbar to the preview dialog. Fixes NB#54147.
 

Modified: projects/haf/trunk/hildon-1/src/hildon-bread-crumb-trail.c
===================================================================
--- projects/haf/trunk/hildon-1/src/hildon-bread-crumb-trail.c	2007-05-30 11:14:23 UTC (rev 11977)
+++ projects/haf/trunk/hildon-1/src/hildon-bread-crumb-trail.c	2007-05-30 11:26:27 UTC (rev 11978)
@@ -361,10 +361,13 @@
       child = GTK_WIDGET (priv->item_list->data);
 
       /* We remove the tip of the list until we hit the clicked button */
-      while (child != button)
+      while (child && child != button)
         {
           gtk_container_remove (GTK_CONTAINER (bct), child);
 
+          if (priv->item_list == NULL)
+              return;
+
           child = GTK_WIDGET (priv->item_list->data);
         }
     }


More information about the maemo-commits mailing list