summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJan Djärv <jan.h.d@swipnet.se>2011-11-27 19:33:17 +0100
committerJan Djärv <jan.h.d@swipnet.se>2011-11-27 19:33:17 +0100
commit54e9e3bf847d39b8c0daa46a999efeb6f84c9d76 (patch)
tree4cb768242a57e75c056a6172baf7455e2c47180a /src
parente9a452d9cd08b5e09fa7ee51d1f57bbc4a9509c0 (diff)
downloademacs-54e9e3bf847d39b8c0daa46a999efeb6f84c9d76.tar.gz
Work around an Ubuntu 11.10 bug where Emacs loops forever when started.
* configure.in: Check for gtk_window_set_has_resize_grip. * src/gtkutil.c (xg_create_frame_widgets): Call gtk_window_set_has_resize_grip (FALSE) if that function is present with Gtk+ 2.0.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog6
-rw-r--r--src/gtkutil.c8
2 files changed, 14 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index dd7b715e443..5b1d5aa2f24 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+2011-11-27 Jan Djärv <jan.h.d@swipnet.se>
+
+ * gtkutil.c (xg_create_frame_widgets): Call
+ gtk_window_set_has_resize_grip (FALSE) if that function is
+ present with Gtk+ 2.0.
+
2011-11-26 Paul Eggert <eggert@cs.ucla.edu>
* fileio.c (Finsert_file_contents): Undo previous change; see
diff --git a/src/gtkutil.c b/src/gtkutil.c
index 7e6f5c3164d..bc71685819e 100644
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -1100,6 +1100,14 @@ xg_create_frame_widgets (FRAME_PTR f)
else
wtop = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ /* gtk_window_set_has_resize_grip is a Gtk+ 3.0 function but Ubuntu
+ has backported it to Gtk+ 2.0 and they add the resize grip for
+ Gtk+ 2.0 applications also. But it has a bug that makes Emacs loop
+ forever, so disable the grip. */
+#if GTK_MAJOR_VERSION < 3 && defined (HAVE_GTK_WINDOW_SET_HAS_RESIZE_GRIP)
+ gtk_window_set_has_resize_grip (GTK_WINDOW (wtop), FALSE);
+#endif
+
xg_set_screen (wtop, f);
wvbox = gtk_vbox_new (FALSE, 0);