]> Pileus Git - ~andy/gtk/commitdiff
Fixed possible devision by zero in size negotiations
authorTristan Van Berkom <tristan.van.berkom@gmail.com>
Mon, 29 Mar 2010 17:27:40 +0000 (13:27 -0400)
committerTristan Van Berkom <tristan.van.berkom@gmail.com>
Mon, 29 Mar 2010 17:27:40 +0000 (13:27 -0400)
Fixed GtkToolItemGroup to avoid deviding by zero when all children
are invisible or there are no children. bgo #613974.

gtk/gtktoolitemgroup.c

index a3d75b7565e88b3f16cf8b144b503957197dcdfa..0107b0f0015aaaff9f85b241571003764964c3cd 100644 (file)
@@ -631,6 +631,9 @@ gtk_tool_item_group_real_size_query (GtkWidget      *widget,
   else
     item_size.height = MIN (item_size.height, allocation->height);
 
+  item_size.width  = MAX (item_size.width, 1);
+  item_size.height = MAX (item_size.height, 1);
+
   item_area.width = 0;
   item_area.height = 0;
 
@@ -903,6 +906,9 @@ gtk_tool_item_group_real_size_allocate (GtkWidget     *widget,
   /* figure out the size of homogeneous items */
   gtk_tool_item_group_get_item_size (group, &item_size, TRUE, &min_rows);
 
+  item_size.width  = MAX (item_size.width, 1);
+  item_size.height = MAX (item_size.height, 1);
+
   /* figure out the available columns and size of item_area */
   if (GTK_ORIENTATION_VERTICAL == orientation)
     {