chiark / gitweb /
Fix overnight build failure last night, by making the new call to
authorSimon Tatham <anakin@pobox.com>
Wed, 21 Nov 2012 18:45:07 +0000 (18:45 +0000)
committerSimon Tatham <anakin@pobox.com>
Wed, 21 Nov 2012 18:45:07 +0000 (18:45 +0000)
gtk_widget_get_allocation conditional on GTK being new enough to have
that function.

I'm assuming until someone proves otherwise that if it isn't that new,
then it also isn't one of the versions of GTK which exhibit the bug
which that call was working around (since gtk_widget_get_allocation
came in 2.18, and the problem seems to have arisen since 2.20).

[originally from svn r9712]

gtk.c

diff --git a/gtk.c b/gtk.c
index 8452bcdfe4a11877fee3a32447ad5e11b4e2f4b3..714d679fed7d3bd2427f6b47ac510ea527b472a4 100644 (file)
--- a/gtk.c
+++ b/gtk.c
@@ -1672,13 +1672,19 @@ static gboolean not_size_allocated_yet(GtkWidget *w)
      * size allocation. A null widget is already taking up all the
      * space it ever will.)
      */
-    GtkAllocation a;
-
     if (!w)
         return FALSE;        /* nonexistent widgets aren't a problem */
 
-    gtk_widget_get_allocation(w, &a);
-    return a.height == 0 || a.width == 0;
+#if GTK_CHECK_VERSION(2,18,0)  /* skip if no gtk_widget_get_allocation */
+    {
+        GtkAllocation a;
+        gtk_widget_get_allocation(w, &a);
+        if (a.height == 0 || a.width == 0)
+            return TRUE;       /* widget exists but has no size yet */
+    }
+#endif
+
+    return FALSE;
 }
 
 static void try_shrink_drawing_area(frontend *fe)