shithub: puzzles

Download patch

ref: e17bf4abec88eba9511639e2495d6c1c35ad2311
parent: 2a2520b8e7985242d0e970d8db0eff06d8657d34
author: Simon Tatham <anakin@pobox.com>
date: Wed Nov 21 13:45:07 EST 2012

Fix overnight build failure last night, by making the new call to
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]

--- a/gtk.c
+++ b/gtk.c
@@ -1672,13 +1672,19 @@
      * 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)