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.
This commit is contained in:
Jehan 2019-01-08 23:34:25 +01:00
parent f7cb9b92e8
commit 5bbfbd1dba

View file

@ -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