[gimp/gimp-2-10] Issue #572: Key combinations not working with non English layout.



commit 5bbfbd1dbac2fcb78edc6c390e4e7087072c61fc
Author: Jehan <jehan girinstud io>
Date:   Tue Jan 8 23:34:25 2019 +0100

    Issue #572: Key combinations not working with non English layout.
    
    It is most likely the same issue as old bug 769550 (on bugzilla), which
    is fixed with GTK+ 2.24.32. Back then, this version of GTK+ had not been
    released yet so we only added a warning in the configure script. See
    also commit b7345863.
    Now it has been a year since GTK+ 2.24.32 has been released and any
    distribution can just upgrade a micro version of GTK+ for bugfix. So
    let's just drop the warning and do a hard requirement to 2.24.32.

 configure.ac | 90 +++++++++++++++++++++---------------------------------------
 1 file changed, 31 insertions(+), 59 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 9fc5299225..96ea342f85 100644
--- a/configure.ac
+++ b/configure.ac
@@ -58,8 +58,7 @@ m4_define([gegl_required_version],
 m4_define([gexiv2_required_version], [0.10.6])
 m4_define([glib_required_version], [2.54.2])
 m4_define([gtk_mac_integration_required_version], [2.0.0])
-m4_define([gtk_required_version], [2.24.10])
-m4_define([gtk_win32_recommended_version], [2.24.32])
+m4_define([gtk_required_version], [2.24.32])
 m4_define([gtkdoc_required_version], [1.0])
 m4_define([harfbuzz_required_version], [0.9.19])
 m4_define([intltool_required_version], [0.40.1])
@@ -149,7 +148,6 @@ AC_DEFINE(GIMP_TOOL_VERSION, "gimp_tool_version",
 GLIB_REQUIRED_VERSION=glib_required_version
 GDK_PIXBUF_REQUIRED_VERSION=gdk_pixbuf_required_version
 GTK_REQUIRED_VERSION=gtk_required_version
-GTK_WIN32_RECOMMENDED_VERSION=gtk_win32_recommended_version
 CAIRO_REQUIRED_VERSION=cairo_required_version
 CAIRO_PDF_REQUIRED_VERSION=cairo_pdf_required_version
 GEGL_MAJOR_MINOR_VERSION=gegl_major_minor_version
@@ -182,7 +180,6 @@ XGETTEXT_REQUIRED_VERSION=xgettext_required_version
 AC_SUBST(GLIB_REQUIRED_VERSION)
 AC_SUBST(GDK_PIXBUF_REQUIRED_VERSION)
 AC_SUBST(GTK_REQUIRED_VERSION)
-AC_SUBST(GTK_WIN32_RECOMMENDED_VERSION)
 AC_SUBST(CAIRO_REQUIRED_VERSION)
 AC_SUBST(CAIRO_PDF_REQUIRED_VERSION)
 AC_SUBST(GEGL_MAJOR_MINOR_VERSION)
@@ -837,27 +834,6 @@ else
 fi
 AC_MSG_RESULT($have_gtk_2_26)
 
-# Windows platform have a few bugs with GTK+ < 2.24.32.
-# In particular: broken shortcuts on non-latin locales.
-# Also SVG icons will be broken, hence --enable-vector-icons cannot be used.
-# Display a warning when necessary.
-# See bugs 769550 and 781020.
-have_recommended_gtk=""
-if test "x$platform_win32" = "xyes"; then
-    PKG_CHECK_MODULES(RECOMMENDED_WIN32_GTK, gtk+-2.0 >= gtk_win32_recommended_version,
-                      have_recommended_gtk="yes", have_recommended_gtk="no")
-
-    if test "x$have_recommended_gtk" = xno; then
-        have_recommended_gtk="
-WARNING: Your GTK+ version is `$PKG_CONFIG --modversion gtk+-2.0`.
-         The recommended GTK+ version under Windows is $GTK_WIN32_RECOMMENDED_VERSION or over.
-         If you continue without updating GTK+, shortcuts won't work with
-         non-latin locales, and vector icons will be disabled."
-    else
-        have_recommended_gtk=""
-    fi
-fi
-
 PKG_CHECK_MODULES(GDK_PIXBUF, gdk-pixbuf-2.0 >= gdk_pixbuf_required_version,,
                   [add_deps_error([gdk-pixbuf-2.0 >= gdk_pixbuf_required_version])])
 
@@ -2400,48 +2376,44 @@ AC_ARG_ENABLE(vector-icons, [  --disable-vector-icons  use raster icons rather t
               enable_vector_icons=auto)
 
 if test "x$enable_vector_icons" != "xno"; then
-  if test "x$have_recommended_gtk" != "x"; then
-      enable_vector_icons="no (gtk+-2-0 < gtk_win32_recommended_version)"
-  else
-    have_shared_mime_info=""
-    # shared-mime-info is needed to correctly detect SVG files (except on
-    # Windows, apparently).
-    PKG_CHECK_MODULES(MIME_INFO, [shared-mime-info],
-                      have_shared_mime_info="yes", have_shared_mime_info="no")
-    if test "x$have_shared_mime_info" = "xyes" ||
-       test "x$platform_win32" = "xyes"; then
-      # Check if librsvg was built with --disable-pixbuf-loader.
-      gdk_pixbuf_moduledir=`$PKG_CONFIG --variable=gdk_pixbuf_moduledir gdk-pixbuf-2.0`
-      # AC_CHECK_FILE macro does not work when cross-compiling and exits with:
-      # error: cannot check for file existence when cross compiling
-      # So let's test files the shell way.
-      if (test "x$platform_win32" = "xyes" &&
-          test -f "$gdk_pixbuf_moduledir/libpixbufloader-svg.dll") ||
-         test -f "$gdk_pixbuf_moduledir/libpixbufloader-svg.so"; then
-        # We must not use $PKG_CONFIG nor PKG_CHECK_* macros because we need
-        # to make sure we use the native pkg-config (in case we cross-compile).
-        if pkg-config --atleast-version=glib_required_version glib-2.0 &&
-           pkg-config gio-2.0; then
-          NATIVE_GLIB_LIBS=`pkg-config --libs gio-2.0 glib-2.0`
-          NATIVE_GLIB_CFLAGS=`pkg-config --cflags gio-2.0 glib-2.0`
-          enable_vector_icons="yes"
-
-          if test "x$platform_win32" = "xyes"; then
-            warning_vector_icons_windows="
+  have_shared_mime_info=""
+  # shared-mime-info is needed to correctly detect SVG files (except on
+  # Windows, apparently).
+  PKG_CHECK_MODULES(MIME_INFO, [shared-mime-info],
+                    have_shared_mime_info="yes", have_shared_mime_info="no")
+  if test "x$have_shared_mime_info" = "xyes" ||
+     test "x$platform_win32" = "xyes"; then
+    # Check if librsvg was built with --disable-pixbuf-loader.
+    gdk_pixbuf_moduledir=`$PKG_CONFIG --variable=gdk_pixbuf_moduledir gdk-pixbuf-2.0`
+    # AC_CHECK_FILE macro does not work when cross-compiling and exits with:
+    # error: cannot check for file existence when cross compiling
+    # So let's test files the shell way.
+    if (test "x$platform_win32" = "xyes" &&
+        test -f "$gdk_pixbuf_moduledir/libpixbufloader-svg.dll") ||
+       test -f "$gdk_pixbuf_moduledir/libpixbufloader-svg.so"; then
+      # We must not use $PKG_CONFIG nor PKG_CHECK_* macros because we need
+      # to make sure we use the native pkg-config (in case we cross-compile).
+      if pkg-config --atleast-version=glib_required_version glib-2.0 &&
+         pkg-config gio-2.0; then
+        NATIVE_GLIB_LIBS=`pkg-config --libs gio-2.0 glib-2.0`
+        NATIVE_GLIB_CFLAGS=`pkg-config --cflags gio-2.0 glib-2.0`
+        enable_vector_icons="yes"
+
+        if test "x$platform_win32" = "xyes"; then
+          warning_vector_icons_windows="
 WARNING: You enabled vector icons on Win32. Make sure to run:
            $ gdk-pixbuf-query-loaders.exe --update-cache
          on the target machine (this command generates loaders.cache)
          so that GdkPixbuf knows where to find the SVG loader."
-          fi
-        else
-          enable_vector_icons="no (missing native glib-2.0 > glib_required_version or gio-2.0)"
         fi
       else
-        enable_vector_icons="no (librsvg GdkPixbuf loader missing)"
+        enable_vector_icons="no (missing native glib-2.0 > glib_required_version or gio-2.0)"
       fi
     else
-      enable_vector_icons="no (missing shared-mime-info)"
+      enable_vector_icons="no (librsvg GdkPixbuf loader missing)"
     fi
+  else
+    enable_vector_icons="no (missing shared-mime-info)"
   fi
 fi
 
@@ -3080,7 +3052,7 @@ Tests:
   Test desktop file          $have_desktop_file_validate
 
 Bug report URL: $with_bug_report_url
-$override_bug_report_url$have_recommended_gtk$warning_vector_icons_windows$warning_glib_networking$warning_gcc"
+$override_bug_report_url$warning_vector_icons_windows$warning_glib_networking$warning_gcc"
 
 if test "x$required_deps" = "x"; then
   AC_OUTPUT


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]