commit gtk2 for openSUSE:Factory
Hello community, here is the log from the commit of package gtk2 for openSUSE:Factory checked in at 2011-10-29 08:00:22 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gtk2 (Old) and /work/SRC/openSUSE:Factory/.gtk2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "gtk2", Maintainer is "gnome-maintainers@suse.de" Changes: -------- --- /work/SRC/openSUSE:Factory/gtk2/gtk2.changes 2011-10-25 16:01:35.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.gtk2.new/gtk2.changes 2011-10-29 08:00:24.000000000 +0200 @@ -1,0 +2,8 @@ +Fri Oct 28 18:33:42 UTC 2011 - vuntz@opensuse.org + +- Add gtk3-immodule-fallback.patch: make it possible to specify + fallback input method modules in the GTK_IM_MODULE environment + variable. This is useful in case a module doesn't exist for both + gtk2 and gtk3. Fix bnc#723382. + +------------------------------------------------------------------- New: ---- gtk2-immodule-fallback.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gtk2.spec ++++++ --- /var/tmp/diff_new_pack.vZ2Ytb/_old 2011-10-29 08:00:26.000000000 +0200 +++ /var/tmp/diff_new_pack.vZ2Ytb/_new 2011-10-29 08:00:26.000000000 +0200 @@ -38,6 +38,8 @@ Patch0: gtk2-window-dragging.patch # PATCH-FIX-OPENSUSE gtk64.patch sbrabec@novell.com - 64-bit dual install. See also the Fedora patch for a simpler way of doing this. Patch8: gtk64.patch +# PATCH-FEATURE-UPSTREAM gtk2-immodule-fallback.patch bgo#603559 bnc#723382 vuntz@opensuse.org -- Make it possible to specify fallback im modules in GTK_IM_MODULE; useful in case a module doesn't exist for both gtk2 and gtk3 +Patch21: gtk2-immodule-fallback.patch # PATCH-FEATURE-UPSTREAM bugzilla-129753-gtk+-2.8.9-localize-font-style-name.diff bnc129753 bgo319484 mfabian@novell.com - Translate the font styles in the GUI Patch22: bugzilla-129753-gtk+-2.8.9-localize-font-style-name.diff # PATCH-FIX-OPENSUSE bugzilla-131498-allow-xim-for-all-languages.patch bnc131498 mfabian@novell.com - Allow all languages to be run with the X Input Method @@ -314,6 +316,7 @@ # WARNING: This patch does not patch not installed demos and tests. %patch8 -p1 %endif +%patch21 -p1 %patch22 -p1 %patch23 -p1 %patch24 -p1 ++++++ gtk2-immodule-fallback.patch ++++++ diff --git a/gtk/gtkimmodule.c b/gtk/gtkimmodule.c index 593a868..c5bd139 100644 --- a/gtk/gtkimmodule.c +++ b/gtk/gtkimmodule.c @@ -648,6 +648,26 @@ match_locale (const gchar *locale, return 0; } +static const gchar * +lookup_immodule (gchar **immodules_list) +{ + while (immodules_list && *immodules_list) + { + if (g_strcmp0 (*immodules_list, SIMPLE_ID) == 0) + return SIMPLE_ID; + else + { + GtkIMModule *module; + module = g_hash_table_lookup (contexts_hash, *immodules_list); + if (module) + return module->contexts[0]->context_id; + } + immodules_list++; + } + + return NULL; +} + /** * _gtk_im_module_get_default_context_id: * @client_window: a window @@ -664,7 +684,7 @@ _gtk_im_module_get_default_context_id (GdkWindow *client_window) const gchar *context_id = NULL; gint best_goodness = 0; gint i; - gchar *tmp_locale, *tmp; + gchar *tmp_locale, *tmp, **immodules; const gchar *envvar; GdkScreen *screen; GtkSettings *settings; @@ -672,11 +692,16 @@ _gtk_im_module_get_default_context_id (GdkWindow *client_window) if (!contexts_hash) gtk_im_module_initialize (); - envvar = g_getenv ("GTK_IM_MODULE"); - if (envvar && - (strcmp (envvar, SIMPLE_ID) == 0 || - g_hash_table_lookup (contexts_hash, envvar))) - return envvar; + envvar = g_getenv("GTK_IM_MODULE"); + if (envvar) + { + immodules = g_strsplit(envvar, ":", 0); + context_id = lookup_immodule(immodules); + g_strfreev(immodules); + + if (context_id) + return context_id; + } /* Check if the certain immodule is set in XSETTINGS. */ @@ -687,15 +712,9 @@ _gtk_im_module_get_default_context_id (GdkWindow *client_window) g_object_get (G_OBJECT (settings), "gtk-im-module", &tmp, NULL); if (tmp) { - if (strcmp (tmp, SIMPLE_ID) == 0) - context_id = SIMPLE_ID; - else - { - GtkIMModule *module; - module = g_hash_table_lookup (contexts_hash, tmp); - if (module) - context_id = module->contexts[0]->context_id; - } + immodules = g_strsplit(tmp, ":", 0); + context_id = lookup_immodule(immodules); + g_strfreev(immodules); g_free (tmp); if (context_id) -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de