Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gtk4 for openSUSE:Factory checked in at 2022-04-03 21:30:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gtk4 (Old) and /work/SRC/openSUSE:Factory/.gtk4.new.1900 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gtk4" Sun Apr 3 21:30:43 2022 rev:40 rq:966461 version:4.6.2 Changes: -------- --- /work/SRC/openSUSE:Factory/gtk4/gtk4.changes 2022-03-23 20:17:27.910431761 +0100 +++ /work/SRC/openSUSE:Factory/.gtk4.new.1900/gtk4.changes 2022-04-03 21:30:50.307921334 +0200 @@ -1,0 +2,7 @@ +Thu Mar 31 23:15:26 UTC 2022 - Jeff Mahoney <je...@suse.com> + +- gtkimmulticontext: Handle switches between displays + (glgo#GNOME/gtk#4805). Added: + gtkimmulticontext-Handle-switches-between-displays.patch + +------------------------------------------------------------------- New: ---- gtkimmulticontext-Handle-switches-between-displays.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gtk4.spec ++++++ --- /var/tmp/diff_new_pack.zMzUkd/_old 2022-04-03 21:30:50.871915020 +0200 +++ /var/tmp/diff_new_pack.zMzUkd/_new 2022-04-03 21:30:50.871915020 +0200 @@ -34,6 +34,9 @@ Source3: macros.gtk4 Source99: gtk4-rpmlintrc +# PATCH-FIX-UPSTREAM gtkimmulticontext-Handle-switches-between-displays.patch glgo#GNOME/gtk#4805 -- gtkimmulticontext: Handle switches between displays +Patch1: gtkimmulticontext-Handle-switches-between-displays.patch + BuildRequires: cups-devel >= 2.0 # We do not support building against cups 2.3 betas BuildConflicts: (cups-devel > 2.3 with cups-devel < 2.3.0) ++++++ gtkimmulticontext-Handle-switches-between-displays.patch ++++++ From: Carlos Garnacho <carl...@gnome.org> Date: Thu, 31 Mar 2022 16:29:34 +0200 Subject: gtkimmulticontext: Handle switches between displays Git-repo: https://gitlab.gnome.org/GNOME/gtk Git-commit: b67da38916b710ba6eedd65ffb569a29e47ddb4d References: glgo#GNOME/gtk#4805 Upstream: merged Currently the GtkIMMultiContext may stick to a delegate GtkIMContext that no longer applies after the multicontext is dissociated from any widget. Handle set_client_widget() so that it can handle changes between widgets from 2 different display, but also so the delegate is made NULL whenever the context has a NULL widget. Doing so, any new client widget results in a new delegate IM context lookup from the right GdkDisplay and GtkSettings, which avoids any mix up. Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4805 Acked-by: Jeff Mahoney <je...@suse.com> --- gtk/gtkimmulticontext.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/gtk/gtkimmulticontext.c b/gtk/gtkimmulticontext.c index 47347d299b..0a5ef9a5a6 100644 --- a/gtk/gtkimmulticontext.c +++ b/gtk/gtkimmulticontext.c @@ -314,6 +314,11 @@ gtk_im_multicontext_set_client_widget (GtkIMContext *context, GtkIMContext *delegate; GtkSettings *settings; + if (priv->client_widget == widget) + return; + + gtk_im_multicontext_set_delegate (self, NULL, TRUE); + if (priv->client_widget != NULL) { settings = gtk_widget_get_settings (priv->client_widget); @@ -332,11 +337,11 @@ gtk_im_multicontext_set_client_widget (GtkIMContext *context, g_signal_connect (settings, "notify::gtk-im-module", G_CALLBACK (im_module_setting_changed), self); - } - delegate = gtk_im_multicontext_get_delegate (self); - if (delegate) - gtk_im_context_set_client_widget (delegate, widget); + delegate = gtk_im_multicontext_get_delegate (self); + if (delegate) + gtk_im_context_set_client_widget (delegate, widget); + } } static void