11 Commits

Author SHA1 Message Date
f1f0da39d0 * Remove all non-Roman mnemonics, not just Japanese
* More complete Command key patch
* Rename patches to match distribution patches
2025-06-10 01:27:10 -07:00
6efb9edc23 Changelog for 3.24.38-2.30~deb12u3 (Callisto version) 2025-05-02 09:30:11 -07:00
c5f7dfd3b6 Callisto patches for bookworm 2025-05-02 09:27:50 -07:00
f053ef30df Import Debian changes 3.24.38-2~deb12u3
gtk+3.0 (3.24.38-2~deb12u3) bookworm; urgency=medium
.
  * Non-maintainer upload.
  * d/p/atk_focus_tracker_notify.deprecated.patch: Fix letting Orca announce
    initial focus (Closes: #1084489)
2024-10-27 23:52:13 +00:00
d6d260150d Prepare proposed bookworm stable update 2024-07-19 12:00:43 +01:00
e263e9e705 Update changelog 2024-07-19 11:47:25 +01:00
d0cdc26f1d Add patch backported from 3.24.43 to avoid looking for modules in cwd
CVE-2024-6655
2024-07-19 11:46:03 +01:00
dc0084b5f6 Prepare proposed stable update 2023-09-09 20:30:57 +01:00
a687c22466 Update changelog 2023-08-20 17:37:48 +01:00
22abdc5668 Merge tag 'debian/3.24.38-2' into debian/bookworm
tagging package gtk+3.0 version debian/3.24.38-2
2023-08-20 14:41:01 +01:00
1580cd5542 d/control.in, d/gbp.conf: Use debian/bookworm packaging branch 2023-08-20 14:31:31 +01:00
12 changed files with 50006 additions and 4 deletions

66
debian/changelog vendored
View File

@ -1,3 +1,69 @@
gtk+3.0 (3.24.38-2.10~deb12u3) unstable; urgency=medium
* Callisto patches for bookworm
- Mnemonic delete
- Command key as primary modifier (newly reworked to be more complete)
- Symbolic accellabel (Mac-style keyboard shortcuts in menus)
- 16px toolbar icons
- Restore old gtkmessagedialog style
-- Maia <maia@tsundoku.ne.jp> Tue, 09 Jun 2025 20:20:00 -0700
gtk+3.0 (3.24.38-2~deb12u3) bookworm; urgency=medium
[ Samuel Thibault ]
* Non-maintainer upload.
* d/p/atk_focus_tracker_notify.deprecated.patch: Fix letting Orca announce
initial focus (Closes: #1084489)
-- Maia Aemilia <maia@tsundoku.ne.jp> Fri, 02 May 2025 09:27:21 -0700
gtk+3.0 (3.24.38-2~deb12u2) bookworm; urgency=medium
* d/p/Stop-looking-for-modules-in-cwd.patch:
Add patch backported from 3.24.43 to avoid looking for modules in
current working directory (CVE-2024-6655)
-- Simon McVittie <smcv@debian.org> Fri, 19 Jul 2024 11:57:06 +0100
gtk+3.0 (3.24.38-2~deb12u1) bookworm; urgency=medium
* Rebuild new upstream release 3.24.38 for Debian 12
* Changes since 3.24.37-2 in initial Debian 12 release:
- Fix application crash with "Couldn't find current GLX or EGL context"
under unknown circumstances (gtk#5711 upstream, regression in 3.24.37)
- Fix a gnome-flashback crash when taking screenshots
(gtk#5691, regression in 3.24.37)
- Fix application crash when running under Wayland with the
cursor-theme-size GSetting set to 0 (gtk#5700)
- Ensure apps launched under Wayland after setting
org.gtk.Settings.Modules will load the desired modules at startup
(gtk!5733)
- Don't crash in Wayland environments that don't implement
xdg_activation_v1, such as Enlightenment (Closes: #1043000)
- Fix a crash in gtk_application_set_screensaver_active() during
app exit (gtk#5775)
- Silence GFileInfo warnings if used with a backported version of GLib
(gtk!5645)
- Use a light colour for the caret in dark themes, making it much
easier to see in some apps, in particular Evince (evince#1842)
- Show more information in the "inspector" debugging interface: Pango
backend, input method module (gtk!5706, gtk#4512)
- Fix broken links in documentation (gtk!5718)
- Update documentation to discourage use of
gdk_pixbuf_get_from_window() (gtk#5691)
- Translation updates: ab, bg, ca, da, de, es, eu, fa, fr, gl, he, hu,
id, it, ka, ko, lt, nl, pl, pt, pt_BR, ru, sl, sr, sv, tr, uk
- testsuite: Disable some reftests that are not reliable
- Windows-specific changes not relevant to Debian
- macOS-specific (Quartz) changes not relevant to Debian
- d/p/Update-Galician-translation.patch,
d/p/Update-Hebrew-translation.patch,
d/p/selection-Use-the-right-mime-type.patch:
Drop patches that were included in 3.24.38
-- Simon McVittie <smcv@debian.org> Sat, 09 Sep 2023 20:30:40 +0100
gtk+3.0 (3.24.38-2) unstable; urgency=medium
* Release to unstable

4
debian/control vendored
View File

@ -2,7 +2,7 @@ Source: gtk+3.0
Section: libs
Priority: optional
Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>
Uploaders: Simon McVittie <smcv@debian.org>, Jeremy Bicha <jbicha@ubuntu.com>
Uploaders: Simon McVittie <smcv@debian.org>, Dmitry Shachnev <mitya57@debian.org>
Build-Depends: adwaita-icon-theme-full <!nocheck>,
at-spi2-core <!nocheck>,
dbus-daemon <!nocheck>,
@ -61,7 +61,7 @@ Build-Depends-Indep: gtk-doc-tools (>= 1.20) <!nodoc>,
Rules-Requires-Root: no
Standards-Version: 4.6.2
Vcs-Browser: https://salsa.debian.org/gnome-team/gtk3
Vcs-Git: https://salsa.debian.org/gnome-team/gtk3.git
Vcs-Git: https://salsa.debian.org/gnome-team/gtk3.git -b debian/bookworm
Homepage: https://www.gtk.org/
Package: libgtk-3-0

2
debian/control.in vendored
View File

@ -61,7 +61,7 @@ Build-Depends-Indep: gtk-doc-tools (>= 1.20) <!nodoc>,
Rules-Requires-Root: no
Standards-Version: 4.6.2
Vcs-Browser: https://salsa.debian.org/gnome-team/gtk3
Vcs-Git: https://salsa.debian.org/gnome-team/gtk3.git
Vcs-Git: https://salsa.debian.org/gnome-team/gtk3.git -b debian/bookworm
Homepage: https://www.gtk.org/
Package: @SHARED_PKG@

2
debian/gbp.conf vendored
View File

@ -1,6 +1,6 @@
[DEFAULT]
pristine-tar = True
debian-branch = debian/master
debian-branch = debian/bookworm
upstream-branch = upstream/latest
[buildpackage]

27899
debian/patches/300_no-mnemonics.patch vendored Normal file

File diff suppressed because it is too large Load Diff

21538
debian/patches/301_command-key.patch vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,92 @@
Description: Use symbolic accelerator labels in menus
Upstream GTK has Mac-style accelerator symbols defined for use
only when GTK is being compiled in macOS. We want them too
(with minor adjustments), so we remove the Windows-style labels
("Ctrl+" "Shift+" etc.) and the conditional preprocessor directives.
Origin: tsundoku custom patchset
Author: tsundoku <me@tsundoku.ne.jp>
Last-Update: 2019-02-23
--- a/gtk/gtkaccellabel.c
+++ b/gtk/gtkaccellabel.c
@@ -172,28 +172,6 @@
class->signal_quote1 = g_strdup ("<:");
class->signal_quote2 = g_strdup (":>");
-#ifndef GDK_WINDOWING_QUARTZ
- /* This is the text that should appear next to menu accelerators
- * that use the shift key. If the text on this key isn't typically
- * translated on keyboards used for your language, don't translate
- * this.
- */
- class->mod_name_shift = g_strdup (C_("keyboard label", "Shift"));
- /* This is the text that should appear next to menu accelerators
- * that use the control key. If the text on this key isn't typically
- * translated on keyboards used for your language, don't translate
- * this.
- */
- class->mod_name_control = g_strdup (C_("keyboard label", "Ctrl"));
- /* This is the text that should appear next to menu accelerators
- * that use the alt key. If the text on this key isn't typically
- * translated on keyboards used for your language, don't translate
- * this.
- */
- class->mod_name_alt = g_strdup (C_("keyboard label", "Alt"));
- class->mod_separator = g_strdup ("+");
-#else /* GDK_WINDOWING_QUARTZ */
-
/* U+21E7 UPWARDS WHITE ARROW */
class->mod_name_shift = g_strdup ("\xe2\x87\xa7");
/* U+2303 UP ARROWHEAD */
@@ -202,8 +180,6 @@
class->mod_name_alt = g_strdup ("\xe2\x8c\xa5");
class->mod_separator = g_strdup ("");
-#endif /* GDK_WINDOWING_QUARTZ */
-
props[PROP_ACCEL_CLOSURE] =
g_param_spec_boxed ("accel-closure",
P_("Accelerator Closure"),
@@ -694,12 +670,11 @@
append_keyval_symbol (guint accelerator_key,
GString *gstring)
{
-#ifdef GDK_WINDOWING_QUARTZ
switch (accelerator_key)
{
case GDK_KEY_Return:
- /* U+21A9 LEFTWARDS ARROW WITH HOOK */
- g_string_append (gstring, "\xe2\x86\xa9");
+ /* U+21B5 DOWN ARROW WITH CORNER LEFT (CARRIAGE RETURN) */
+ g_string_append (gstring, "\xe2\x86\xb5");
return TRUE;
case GDK_KEY_ISO_Enter:
@@ -765,9 +740,6 @@
default:
return FALSE;
}
-#else /* !GDK_WINDOWING_QUARTZ */
- return FALSE;
-#endif
}
gchar *
@@ -842,7 +814,7 @@
* translated on keyboards used for your language, don't translate
* this.
*/
- g_string_append (gstring, C_("keyboard label", "Super"));
+ g_string_append (gstring, C_("keyboard label", "\xe2\x8c\x98"));
seen_mod = TRUE;
}
if (accelerator_mods & GDK_HYPER_MASK)
@@ -869,7 +841,8 @@
* translated on keyboards used for your language, don't translate
* this.
*/
- g_string_append (gstring, C_("keyboard label", "Meta"));
+ /* Meta key symbol U+2B26 WHITE MEDIUM DIAMOND */
+ g_string_append (gstring, "\xe2\xac\xa6");
#else
/* Command key symbol U+2318 PLACE OF INTEREST SIGN */
g_string_append (gstring, "\xe2\x8c\x98");

View File

@ -0,0 +1,19 @@
Description: Force 16x16 toolbar icons
Specifying a systemwide toolbar icon size is no longer available
to GTK themes, so we set it here instead.
Origin: tsundoku custom patchset
Author: tsundoku <me@tsundoku.ne.jp>
Last-Update: 2019-02-23
--- a/gtk/deprecated/gtkiconfactory.c
+++ b/gtk/deprecated/gtkiconfactory.c
@@ -689,8 +689,8 @@
icon_sizes[GTK_ICON_SIZE_LARGE_TOOLBAR].size = GTK_ICON_SIZE_LARGE_TOOLBAR;
icon_sizes[GTK_ICON_SIZE_LARGE_TOOLBAR].name = "gtk-large-toolbar";
- icon_sizes[GTK_ICON_SIZE_LARGE_TOOLBAR].width = 24;
- icon_sizes[GTK_ICON_SIZE_LARGE_TOOLBAR].height = 24;
+ icon_sizes[GTK_ICON_SIZE_LARGE_TOOLBAR].width = 16;
+ icon_sizes[GTK_ICON_SIZE_LARGE_TOOLBAR].height = 16;
icon_sizes[GTK_ICON_SIZE_DND].size = GTK_ICON_SIZE_DND;
icon_sizes[GTK_ICON_SIZE_DND].name = "gtk-dnd";

View File

@ -0,0 +1,287 @@
Description: Restore traditional GtkMessageDialog style
We don't like the smartphone-esque message dialog style introduced
in GTK 3.12. This patch restores the original style with an icon
and normal buttons.
Origin: tsundoku custom patchset
Author: tsundoku <me@tsundoku.ne.jp>
Last-Update: 2019-02-23
--- a/gtk/gtkmessagedialog.c
+++ b/gtk/gtkmessagedialog.c
@@ -44,7 +44,8 @@
* @Title: GtkMessageDialog
* @See_also:#GtkDialog
*
- * #GtkMessageDialog presents a dialog with some message text. Its simply a
+ * #GtkMessageDialog presents a dialog with an image representing the type of
+ * message (Error, Question, etc.) alongside some message text. Its simply a
* convenience widget; you could construct the equivalent of #GtkMessageDialog
* from #GtkDialog without too much effort, but #GtkMessageDialog saves typing.
*
@@ -171,8 +172,8 @@
gtk_widget_class_install_style_property (widget_class,
g_param_spec_int ("message-border",
- P_("label border"),
- P_("Width of border around the label in the message dialog"),
+ P_("Image/label border"),
+ P_("Width of border around the label and image in the message dialog"),
0,
G_MAXINT,
12,
@@ -181,7 +182,9 @@
/**
* GtkMessageDialog:message-type:
*
- * The type of the message.
+ * The type of the message. The type is used to determine
+ * the image that is shown in the dialog, unless the image is
+ * explicitly set by the ::image property.
*/
g_object_class_install_property (gobject_class,
PROP_MESSAGE_TYPE,
@@ -269,7 +272,6 @@
* The image for this dialog.
*
* Since: 2.10
- * Deprecated: 3.12: Use #GtkDialog to create dialogs with images
*/
g_object_class_install_property (gobject_class,
PROP_IMAGE,
@@ -277,7 +279,7 @@
P_("Image"),
P_("The image"),
GTK_TYPE_WIDGET,
- GTK_PARAM_READWRITE|G_PARAM_DEPRECATED));
+ GTK_PARAM_READWRITE));
/**
* GtkMessageDialog:message-area:
@@ -298,6 +300,7 @@
/* Setup Composite data */
gtk_widget_class_set_template_from_resource (widget_class, "/org/gtk/libgtk/ui/gtkmessagedialog.ui");
+ gtk_widget_class_bind_template_child_private (widget_class, GtkMessageDialog, image);
gtk_widget_class_bind_template_child_private (widget_class, GtkMessageDialog, label);
gtk_widget_class_bind_template_child_private (widget_class, GtkMessageDialog, secondary_label);
gtk_widget_class_bind_template_child_internal_private (widget_class, GtkMessageDialog, message_area);
@@ -327,7 +330,7 @@
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
action_area = gtk_dialog_get_action_area (GTK_DIALOG (dialog));
G_GNUC_END_IGNORE_DEPRECATIONS
- gtk_button_box_set_layout (GTK_BUTTON_BOX (action_area), GTK_BUTTONBOX_EXPAND);
+ gtk_button_box_set_layout (GTK_BUTTON_BOX (action_area), GTK_BUTTONBOX_END);
settings = gtk_widget_get_settings (GTK_WIDGET (dialog));
g_object_get (settings, "gtk-keynav-use-caret", &use_caret, NULL);
@@ -373,6 +376,7 @@
GtkMessageDialogPrivate *priv = dialog->priv;
const gchar *name = NULL;
AtkObject *atk_obj;
+ GIcon *gicon = NULL;
if (priv->message_type == type)
return;
@@ -383,18 +387,22 @@
{
case GTK_MESSAGE_INFO:
name = _("Information");
+ gicon = g_themed_icon_new_with_default_fallbacks ("dialog-information-symbolic");
break;
case GTK_MESSAGE_QUESTION:
name = _("Question");
+ gicon = g_themed_icon_new_with_default_fallbacks ("dialog-question-symbolic");
break;
case GTK_MESSAGE_WARNING:
name = _("Warning");
+ gicon = g_themed_icon_new_with_default_fallbacks ("dialog-warning-symbolic");
break;
case GTK_MESSAGE_ERROR:
name = _("Error");
+ gicon = g_themed_icon_new_with_default_fallbacks ("dialog-error-symbolic");
break;
case GTK_MESSAGE_OTHER:
@@ -405,6 +413,10 @@
break;
}
+ gtk_image_set_from_gicon (GTK_IMAGE (priv->image), gicon, GTK_ICON_SIZE_DIALOG);
+ if (gicon)
+ g_object_unref (gicon);
+
atk_obj = gtk_widget_get_accessible (GTK_WIDGET (dialog));
if (GTK_IS_ACCESSIBLE (atk_obj))
{
@@ -524,9 +536,7 @@
}
break;
case PROP_IMAGE:
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
gtk_message_dialog_set_image (dialog, g_value_get_object (value));
-G_GNUC_END_IGNORE_DEPRECATIONS
break;
default:
@@ -719,7 +729,6 @@
* Sets the dialogs image to @image.
*
* Since: 2.10
- * Deprecated: 3.12: Use #GtkDialog to create dialogs with images
**/
void
gtk_message_dialog_set_image (GtkMessageDialog *dialog,
@@ -732,25 +741,24 @@
g_return_if_fail (image == NULL || GTK_IS_WIDGET (image));
priv = dialog->priv;
-
- if (priv->image)
- gtk_widget_destroy (priv->image);
- priv->image = image;
+ if (image == NULL)
+ {
+ image = gtk_image_new_from_icon_name (NULL, GTK_ICON_SIZE_DIALOG);
+ gtk_widget_set_halign (image, GTK_ALIGN_CENTER);
+ gtk_widget_set_valign (image, GTK_ALIGN_START);
+ }
- if (priv->image)
- {
- gtk_widget_set_halign (priv->image, GTK_ALIGN_CENTER);
- gtk_widget_set_valign (priv->image, GTK_ALIGN_START);
- parent = gtk_widget_get_parent (priv->message_area);
- gtk_container_add (GTK_CONTAINER (parent), priv->image);
- gtk_box_reorder_child (GTK_BOX (parent), priv->image, 0);
- }
-
priv->message_type = GTK_MESSAGE_OTHER;
+ parent = gtk_widget_get_parent (priv->image);
+ gtk_container_add (GTK_CONTAINER (parent), image);
+ gtk_container_remove (GTK_CONTAINER (parent), priv->image);
+ gtk_box_reorder_child (GTK_BOX (parent), image, 0);
+
+ priv->image = image;
+
g_object_notify (G_OBJECT (dialog), "image");
- g_object_notify (G_OBJECT (dialog), "message-type");
}
/**
@@ -762,7 +770,6 @@
* Returns: (transfer none): the dialogs image
*
* Since: 2.14
- * Deprecated: 3.12: Use #GtkDialog for dialogs with images
**/
GtkWidget *
gtk_message_dialog_get_image (GtkMessageDialog *dialog)
@@ -910,8 +917,9 @@
*
* Returns the message area of the dialog. This is the box where the
* dialogs primary and secondary labels are packed. You can add your
- * own extra content to that box and it will appear below those labels.
- * See gtk_dialog_get_content_area() for the corresponding
+ * own extra content to that box and it will appear below those labels,
+ * on the right side of the dialogs image (or on the left for right-to-left
+ * languages). See gtk_dialog_get_content_area() for the corresponding
* function in the parent #GtkDialog.
*
* Returns: (transfer none): A #GtkBox corresponding to the
@@ -986,7 +994,7 @@
GtkWidget *parent;
gint border_width;
- parent = gtk_widget_get_parent (dialog->priv->message_area);
+ parent = gtk_widget_get_parent (gtk_message_dialog_get_image (dialog));
if (parent)
{
--- a/gtk/gtkmessagedialog.h
+++ b/gtk/gtkmessagedialog.h
@@ -111,11 +111,11 @@
const gchar *message_format,
...) G_GNUC_PRINTF (5, 6);
-GDK_DEPRECATED_IN_3_12
+GDK_AVAILABLE_IN_ALL
void gtk_message_dialog_set_image (GtkMessageDialog *dialog,
GtkWidget *image);
-GDK_DEPRECATED_IN_3_12
+GDK_AVAILABLE_IN_ALL
GtkWidget * gtk_message_dialog_get_image (GtkMessageDialog *dialog);
GDK_AVAILABLE_IN_ALL
--- a/gtk/ui/gtkmessagedialog.ui
+++ b/gtk/ui/gtkmessagedialog.ui
@@ -2,6 +2,7 @@
<interface domain="gtk30">
<!-- interface-requires gtk+ 3.10 -->
<template class="GtkMessageDialog" parent="GtkDialog">
+ <property name="border_width">5</property>
<property name="title"></property>
<property name="resizable">0</property>
<property name="type-hint">dialog</property>
@@ -14,24 +15,39 @@
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1">
<property name="orientation">vertical</property>
- <property name="spacing">20</property>
+ <property name="spacing">14</property>
<property name="border-width">0</property>
<child>
<object class="GtkBox" id="box">
<property name="visible">1</property>
- <property name="margin-start">30</property>
- <property name="margin-end">30</property>
- <property name="spacing">30</property>
+ <property name="border_width">5</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkImage" id="image">
+ <property name="visible">1</property>
+ <property name="halign">center</property>
+ <property name="valign">start</property>
+ <property name="stock">gtk-missing-image</property>
+ <property name="use_fallback">True</property>
+ <property name="icon_size">6</property>
+ <property name="xpad">6</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
<child>
<object class="GtkBox" id="message_area">
<property name="visible">1</property>
<property name="orientation">vertical</property>
- <property name="spacing">10</property>
+ <property name="spacing">12</property>
<child>
<object class="GtkLabel" id="label">
<property name="visible">1</property>
- <property name="halign">center</property>
- <property name="valign">start</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
<property name="wrap">1</property>
<property name="max-width-chars">60</property>
</object>
@@ -43,8 +59,8 @@
<object class="GtkLabel" id="secondary_label">
<property name="no-show-all">1</property>
<property name="margin-bottom">2</property>
- <property name="halign">center</property>
- <property name="valign">start</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
<property name="wrap">1</property>
<property name="max-width-chars">60</property>
</object>

View File

@ -0,0 +1,33 @@
From: Matthias Clasen <mclasen@redhat.com>
Date: Sat, 15 Jun 2024 14:18:01 -0400
Subject: Stop looking for modules in cwd
This is just not a good idea. It is surprising, and can be misused.
Bug: https://gitlab.gnome.org/GNOME/gtk/-/issues/6786
Bug-CVE: CVE-2024-6655
Origin: upstream, 3.24.43, commit:https://gitlab.gnome.org/GNOME/gtk/-/commit/3bbf0b6176d42836d23c36a6ac410e807ec0a7a7
---
gtk/gtkmodules.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/gtk/gtkmodules.c b/gtk/gtkmodules.c
index 704e412..f93101c 100644
--- a/gtk/gtkmodules.c
+++ b/gtk/gtkmodules.c
@@ -214,13 +214,8 @@ find_module (const gchar *name)
gchar *module_name;
module_name = _gtk_find_module (name, "modules");
- if (!module_name)
- {
- /* As last resort, try loading without an absolute path (using system
- * library path)
- */
- module_name = g_module_build_path (NULL, name);
- }
+ if (module_name == NULL)
+ return NULL;
module = g_module_open (module_name, G_MODULE_BIND_LOCAL | G_MODULE_BIND_LAZY);

View File

@ -0,0 +1,61 @@
From 5147e95d1d6a02212b1f51c2cc0a61653425850a Mon Sep 17 00:00:00 2001
From: Michael Weghorn <m.weghorn@posteo.de>
Date: Wed, 8 May 2024 11:32:27 +0200
Subject: [PATCH] a11y: Port from deprecated atk_focus_tracker_notify
Port `gail_focus_notify` from using the deprecated
`atk_focus_tracker_notify` to notify about the new
focus object. Notify of a state of the focused state
instead, as suggested in the
`atk_focus_tracker_notify` doc [1].
Using the deprecated function e.g. resulted in
the Orca screen reader no longer announcing
initial focus on editable comboboxes in
LibreOffice Writer's toolbars after Orca dropped
support for the deprecated "focus" AT-SPI event
in this commit [2]:
commit 9e2902dd46c7e583a097e235dfd7e3c50b016383
Author: Joanmarie Diggs <jdiggs@igalia.com>
Date: Wed May 1 12:14:07 2024 +0200
Remove the on_focus handler for the LibreOffice script
The "focus:" event was deprecated many years ago. If the expected
"object:state-changed:focused" event is absent, that bug should
be fixed.
This commit makes the announcement work again.
It also fixes the scenario described in [3].
[1] https://docs.gtk.org/atk/func.focus_tracker_notify.html
[2] https://gitlab.gnome.org/GNOME/orca/-/commit/9e2902dd46c7e583a097e235dfd7e3c50b016383
[3] https://gitlab.gnome.org/GNOME/gtk/-/issues/454#note_2099344
Fixes: #454
---
gtk/a11y/gtkaccessibility.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/gtk/a11y/gtkaccessibility.c b/gtk/a11y/gtkaccessibility.c
index 7f0e5207d91..1b319db35af 100644
--- a/gtk/a11y/gtkaccessibility.c
+++ b/gtk/a11y/gtkaccessibility.c
@@ -525,11 +525,9 @@ gail_focus_notify (GtkWidget *widget)
/*
* Do not report focus on redundant object
*/
- G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
if (atk_obj &&
(atk_object_get_role(atk_obj) != ATK_ROLE_REDUNDANT_OBJECT))
- atk_focus_tracker_notify (atk_obj);
- G_GNUC_END_IGNORE_DEPRECATIONS;
+ atk_object_notify_state_change (atk_obj, ATK_STATE_FOCUSED, TRUE);
if (atk_obj && transient)
g_object_unref (atk_obj);
if (subsequent_focus_widget)
--
GitLab

View File

@ -3,3 +3,10 @@
060_ignore-random-icons.patch
reftest_compare_surfaces-Report-how-much-the-images-diffe.patch
reftests-Allow-minor-differences-to-be-tolerated.patch
Stop-looking-for-modules-in-cwd.patch
atk_focus_tracker_notify.deprecated.patch
300_no-mnemonics.patch
301_command-key.patch
302_symbolic-accellabel.patch
303_toolbar-icons-16px.patch
304_gtkmessagedialog-style.patch