Do not use GTK 3 if it exists but cannot be compiled.
authorPaul Eggert <eggert@cs.ucla.edu>
Sun, 30 Jun 2013 15:24:14 +0000 (08:24 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sun, 30 Jun 2013 15:24:14 +0000 (08:24 -0700)
* configure.ac: Leave GTK_OBJ and term_header alone if GTK 3
exists but cannot be compiled.
* src/xmenu.c (x_menu_wait_for_event) [!USE_GTK]:
* src/xterm.c (x_error_handler) [!USE_GTK]:
Do not use GTK 3.

ChangeLog
configure.ac
src/ChangeLog
src/xmenu.c
src/xterm.c

index 8a61bd4..301e912 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2013-06-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Do not use GTK 3 if it exists but cannot be compiled.
+       * configure.ac: Leave GTK_OBJ and term_header alone if GTK 3
+       exists but cannot be compiled.
+
 2013-06-27  Juanma Barranquero  <lekktu@gmail.com>
 
        * Makefile.in (install-arch-indep): Do not create directories passed
index 3cb7bc7..2a7fb20 100644 (file)
@@ -2078,6 +2078,7 @@ fi
 
 HAVE_GTK=no
 GTK_OBJ=
+gtk_term_header=$term_header
 check_gtk2=no
 gtk3_pkg_errors=
 if test "${opsys}" != "mingw32"; then
@@ -2094,7 +2095,7 @@ if test "${opsys}" != "mingw32"; then
     if test "$pkg_check_gtk" = "yes"; then
        AC_DEFINE(HAVE_GTK3, 1, [Define to 1 if using GTK 3 or later.])
        GTK_OBJ=emacsgtkfixed.o
-       term_header=gtkutil.h
+       gtk_term_header=gtkutil.h
        USE_GTK_TOOLKIT="GTK3"
        if test "x$ac_enable_gtk_deprecation_warnings" = x; then
                  GTK_CFLAGS="$GTK_CFLAGS -DGDK_DISABLE_DEPRECATION_WARNINGS"
@@ -2133,6 +2134,7 @@ if test x"$pkg_check_gtk" = xyes; then
   GTK_COMPILES=no
   AC_CHECK_FUNCS(gtk_main, GTK_COMPILES=yes)
   if test "${GTK_COMPILES}" != "yes"; then
+    GTK_OBJ=
     if test "$USE_X_TOOLKIT" != "maybe"; then
       AC_MSG_ERROR([Gtk+ wanted, but it does not compile, see config.log.  Maybe some x11-devel files missing?]);
     fi
@@ -2140,6 +2142,7 @@ if test x"$pkg_check_gtk" = xyes; then
     HAVE_GTK=yes
     AC_DEFINE(USE_GTK, 1, [Define to 1 if using GTK.])
     GTK_OBJ="gtkutil.o $GTK_OBJ"
+    term_header=$gtk_term_header
     USE_X_TOOLKIT=none
     if "$PKG_CONFIG" --atleast-version=2.10 gtk+-2.0; then
       :
index ad4b0d7..fa44810 100644 (file)
@@ -1,5 +1,10 @@
 2013-06-30  Paul Eggert  <eggert@cs.ucla.edu>
 
+       Do not use GTK 3 if it exists but cannot be compiled.
+       * xmenu.c (x_menu_wait_for_event) [!USE_GTK]:
+       * xterm.c (x_error_handler) [!USE_GTK]:
+       Do not use GTK 3.
+
        * intervals.c (get_local_map): Actually clip POSITION (Bug#14753).
 
 2013-06-30  Eli Zaretskii  <eliz@gnu.org>
index 9993bd8..48ab351 100644 (file)
@@ -397,7 +397,7 @@ x_menu_wait_for_event (void *data)
       else
         ntp = &next_time;
 
-#ifdef HAVE_GTK3
+#if defined USE_GTK && defined HAVE_GTK3
       /* Gtk3 have arrows on menus when they don't fit.  When the
         pointer is over an arrow, a timeout scrolls it a bit.  Use
         xg_select so that timeout gets triggered.  */
index 7505aa3..9c868ae 100644 (file)
@@ -7824,7 +7824,7 @@ static void x_error_quitter (Display *, XErrorEvent *);
 static int
 x_error_handler (Display *display, XErrorEvent *event)
 {
-#ifdef HAVE_GTK3
+#if defined USE_GTK && defined HAVE_GTK3
   if (event->error_code == BadMatch
       && event->request_code == X_SetInputFocus
       && event->minor_code == 0)