Sophie

Sophie

distrib > Mageia > 3 > i586 > media > core-release-src > by-pkgid > 3a16181da5cc7e887c343488f0a6cef6 > files > 3

lxlauncher-0.2.2-2.mga3.src.rpm

--- src/exo-wrap-table.c.orig	2011-10-27 17:01:29.438411574 +0200
+++ src/exo-wrap-table.c	2011-10-27 17:13:09.777811148 +0200
@@ -326,9 +326,9 @@
   if (G_LIKELY (num_children > 0))
     {
 #if GTK_CHECK_VERSION(2,18,0)
-      GtkAllocation allocation;
-      gtk_widget_set_allocation(widget, &allocation);
-      num_cols = exo_wrap_table_get_num_fitting (allocation.width
+      GtkAllocation *allocation = g_new0 (GtkAllocation, 1);
+      gtk_widget_get_allocation(GTK_WIDGET(widget), allocation);
+      num_cols = exo_wrap_table_get_num_fitting (allocation->width
                                                  - gtk_container_get_border_width(GTK_CONTAINER (widget)) * 2,
                                                  table->priv->col_spacing, max_width);
 #else
@@ -345,7 +345,12 @@
       requisition->width = -1;
       requisition->height = (num_rows * max_height)
                          + (num_rows - 1) * table->priv->col_spacing
+#if GTK_CHECK_VERSION(2,18,0)
                          + gtk_container_get_border_width(GTK_CONTAINER (widget)) * 2;
+      g_free (allocation);
+#else
+                         + GTK_CONTAINER (widget)->border_width * 2;
+#endif
     }
   else
     {
@@ -479,8 +484,8 @@
   gint           max_height;
   gint           max_width;
 #if GTK_CHECK_VERSION(2,18,0)
-  GtkAllocation allocation;
-  gtk_widget_set_allocation(GTK_WIDGET(table), &allocation);
+  GtkAllocation *allocation = g_new0 (GtkAllocation, 1);
+  gtk_widget_get_allocation(GTK_WIDGET(table), allocation);
 #endif
 
   /* determine the number of visible children and the max size */
@@ -490,7 +495,7 @@
 
   /* determine the number of columns */
 #if GTK_CHECK_VERSION(2,18,0)
-  num_cols = exo_wrap_table_get_num_fitting (allocation.width
+  num_cols = exo_wrap_table_get_num_fitting (allocation->width
                                              - gtk_container_get_border_width(GTK_CONTAINER (table)) * 2,
                                              table->priv->col_spacing, max_width);
 #else
@@ -509,8 +514,8 @@
 
   /* determine the horizontal bounds */
 #if GTK_CHECK_VERSION(2,18,0)
-  x0 = allocation.x + gtk_container_get_border_width(GTK_CONTAINER (table));
-  x1 = x0 + allocation.width - gtk_container_get_border_width(GTK_CONTAINER (table));
+  x0 = allocation->x + gtk_container_get_border_width(GTK_CONTAINER (table));
+  x1 = x0 + allocation->width - gtk_container_get_border_width(GTK_CONTAINER (table));
 #else
   x0 = GTK_WIDGET (table)->allocation.x + GTK_CONTAINER (table)->border_width;
   x1 = x0 + GTK_WIDGET (table)->allocation.width - GTK_CONTAINER (table)->border_width;
@@ -519,7 +524,8 @@
   /* initialize the position */
   x = x0;
 #if GTK_CHECK_VERSION(2,18,0)
-  y = allocation.y + gtk_container_get_border_width(GTK_CONTAINER (table));
+  y = allocation->y + gtk_container_get_border_width(GTK_CONTAINER (table));
+  g_free (allocation);
 #else
   y = GTK_WIDGET (table)->allocation.y + GTK_CONTAINER (table)->border_width;
 #endif