diff src/gtkutil.c @ 72778:ab6be05ddfb1

* gtkutil.c (xg_display_close): Always change default display if needed, check for < Gtk+ version 2.10 before calling gdk_display_close.
author Jan Djärv <jan.h.d@swipnet.se>
date Sun, 10 Sep 2006 12:17:19 +0000
parents 9db8c9a68f0f
children 790e14d9baae a1a25ac6c88a
line wrap: on
line diff
--- a/src/gtkutil.c	Sun Sep 10 12:16:58 2006 +0000
+++ b/src/gtkutil.c	Sun Sep 10 12:17:19 2006 +0000
@@ -131,14 +131,8 @@
 #ifdef HAVE_GTK_MULTIDISPLAY
   GdkDisplay *gdpy = gdk_x11_lookup_xdisplay (dpy);
 
-  /* GTK 2.2 has a bug that makes gdk_display_close crash (bug
-     http://bugzilla.gnome.org/show_bug.cgi?id=85715).  This way
-     we can continue running, but there will be memory leaks.  */
-
-#if GTK_MAJOR_VERSION == 2 && GTK_MINOR_VERSION < 4
-
   /* If this is the default display, we must change it before calling
-     dispose, otherwise it will crash.  */
+     dispose, otherwise it will crash on some Gtk+ versions.  */
   if (gdk_display_get_default () == gdpy)
     {
       struct x_display_info *dpyinfo;
@@ -160,10 +154,14 @@
                                                gdpy_new);
     }
 
+  /* GTK 2.2-2.8 has a bug that makes gdk_display_close crash (bug
+     http://bugzilla.gnome.org/show_bug.cgi?id=85715).  This way
+     we can continue running, but there will be memory leaks.  */
+
+#if GTK_MAJOR_VERSION == 2 && GTK_MINOR_VERSION < 10
   g_object_run_dispose (G_OBJECT (gdpy));
-
 #else
-  /* I hope this will be fixed in GTK 2.4.  It is what bug 85715 says.  */
+  /* This seems to be fixed in GTK 2.10. */
   gdk_display_close (gdpy);
 #endif
 #endif /* HAVE_GTK_MULTIDISPLAY */