Update to 4.6.3
This commit is contained in:
parent
34142c1b62
commit
59753048f8
1
.gitignore
vendored
1
.gitignore
vendored
@ -29,3 +29,4 @@
|
|||||||
/gtk-4.6.0.tar.xz
|
/gtk-4.6.0.tar.xz
|
||||||
/gtk-4.6.1.tar.xz
|
/gtk-4.6.1.tar.xz
|
||||||
/gtk-4.6.2.tar.xz
|
/gtk-4.6.2.tar.xz
|
||||||
|
/gtk-4.6.3.tar.xz
|
||||||
|
@ -1,57 +0,0 @@
|
|||||||
From b67da38916b710ba6eedd65ffb569a29e47ddb4d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Carlos Garnacho <carlosg@gnome.org>
|
|
||||||
Date: Thu, 31 Mar 2022 16:29:34 +0200
|
|
||||||
Subject: [PATCH] gtkimmulticontext: Handle switches between displays
|
|
||||||
|
|
||||||
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
|
|
||||||
---
|
|
||||||
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
|
|
||||||
--
|
|
||||||
2.35.1
|
|
||||||
|
|
12
gtk4.spec
12
gtk4.spec
@ -16,18 +16,13 @@
|
|||||||
%global __provides_exclude_from ^%{_libdir}/gtk-4.0
|
%global __provides_exclude_from ^%{_libdir}/gtk-4.0
|
||||||
|
|
||||||
Name: gtk4
|
Name: gtk4
|
||||||
Version: 4.6.2
|
Version: 4.6.3
|
||||||
Release: 3%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: GTK graphical user interface library
|
Summary: GTK graphical user interface library
|
||||||
|
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
URL: https://www.gtk.org
|
URL: https://www.gtk.org
|
||||||
Source0: https://download.gnome.org/sources/gtk/4.6/gtk-%{version}.tar.xz
|
Source0: https://download.gnome.org/sources/gtk/4.6/gtk-%{version}.tar.xz
|
||||||
# Fix portal save/load dialogs not working on X
|
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2068041
|
|
||||||
# https://gitlab.gnome.org/GNOME/gtk/-/issues/4805
|
|
||||||
# https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4605
|
|
||||||
Patch0: 0001-gtkimmulticontext-Handle-switches-between-displays.patch
|
|
||||||
# Fix "gtk_widget_measure: assertion 'for_size >= -1' failed" loop bug
|
# Fix "gtk_widget_measure: assertion 'for_size >= -1' failed" loop bug
|
||||||
# Patch proposed by Benjamin Otte, no MR yet
|
# Patch proposed by Benjamin Otte, no MR yet
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2071228
|
# https://bugzilla.redhat.com/show_bug.cgi?id=2071228
|
||||||
@ -238,6 +233,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
|
|||||||
%{_mandir}/man1/gtk4-widget-factory.1*
|
%{_mandir}/man1/gtk4-widget-factory.1*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Apr 28 2022 David King <amigadave@amigadave.com> - 4.6.3-1
|
||||||
|
- Update to 4.6.3
|
||||||
|
|
||||||
* Tue Apr 26 2022 Adam Williamson <awilliam@redhat.com> - 4.6.2-2.1awb
|
* Tue Apr 26 2022 Adam Williamson <awilliam@redhat.com> - 4.6.2-2.1awb
|
||||||
- Fix from Benjamin for gtk_widget_measure infinite loop issue (#2071228)
|
- Fix from Benjamin for gtk_widget_measure infinite loop issue (#2071228)
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (gtk-4.6.2.tar.xz) = 220959085b43c5a0bc496cb3d67213b73e1c597d6c799e5d788d0b75b664adc573b21c449850c7c0fbb7cbfafd77528c910f0e5eaa75a8fa59bff47e04c77f33
|
SHA512 (gtk-4.6.3.tar.xz) = 0e96b39a8171ccefc24808d1af8af8e3cbcc9b403c1bdfd85778ed2e824c93e3687b7baa1237b05fa35181d300eacfd6cc9f79c7a6eef70b365991f0a2769f71
|
||||||
|
Loading…
Reference in New Issue
Block a user