From 5bbfbd1dbac2fcb78edc6c390e4e7087072c61fc Mon Sep 17 00:00:00 2001 From: Jehan Date: Tue, 8 Jan 2019 23:34:25 +0100 Subject: [PATCH] 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 | 88 ++++++++++++++++++---------------------------------- 1 file changed, 30 insertions(+), 58 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" + 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=" + 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