Skip to content
Commits on Source (12)
gtk+3.0 (3.24.34-5ubuntu1) UNRELEASED; urgency=medium
* Resynchronize with Debian, remaining changes
+ Install a settings.ini file to set our themes
+ Update debian/libgtk-3-0.symbols
+ debian/control.in and debian/tests/control (installed-tests):
- Build-depend on adwaita-icon-theme-full for icon name check test
+ debian/control.in: Build-Depend on dh-sequence-translations
+ Ubuntu-specific patches:
- 073_treeview_almost_fixed.patch
- bzg_gtkcellrenderer_grabbing_modifier.patch
- ubuntu_gtk_custom_menu_items.patch
- print-dialog-show-options-of-remote-dnssd-printers.patch
- uimanager-guard-against-nested-node-updates.patch
- x-canonical-accel.patch
- message-dialog-restore-traditional-look-on-unity.patch
- 0001-gtk-reftest-Force-icon-theme-to-Adwaita.patch
- restore_filechooser_typeaheadfind.patch
- 0001-calendar-always-emit-day-selected-once.patch
- 0001-gtkwindow-set-transparent-background-color.patch
- unity-border-radius.patch
- unity-headerbar-maximized-mode.patch
+ Re-enable and adapt reftest-known-fail.patch (lp: #1987304)
-- Amin Bandali <amin.bandali@canonical.com> Wed, 23 Nov 2022 14:56:04 -0500
gtk+3.0 (3.24.34-5) unstable; urgency=medium
* d/p/build-Define-USE_XDG_ACTIVATION-conditional-when-Wayland-.patch:
Mark patch as applied upstream
* Skip border-image-excess-size reftest on big-endian machines.
Mitigates: #1024392
-- Simon McVittie <smcv@debian.org> Fri, 18 Nov 2022 23:56:42 +0000
gtk+3.0 (3.24.34-4) unstable; urgency=medium
* d/patches: Update to upstream gtk-3-24 branch commit
3.24.34-209-gf8d26e2acc (Windows- and macOS-specific changes excluded)
- Don't crash on HiDPI systems if the cursor theme has cursors of
the wrong size
- When using server-side window decorations, don't draw a shadow around
maximized windows
- Fix popup coordinates on HiDPI
- Don't force HighContrast icon theme, which is deprecated in favour of
symbolic icons from the ordinary theme (already high-contrast)
- Fix a memory leak when applying symbolic colours
- Avoid pointer motion hint mask on Wayland
- Fix runtime warnings in popover
- Fix runtime warnings in font chooser for some fonts
- Improve tablet stylus detection on X11
- Fix drag-and-drop in Firefox on Plasma Wayland
- Documentation/introspection fixes
- Improve handling of titlebar clicks in mutter-based compositors
- Fix copy/paste interop between GTK and Eclipse
- Always send motion events even if event compression is disabled
- Improve support for input methods
- Fix cursor hotspot scaling under HiDPI
- Fix tooltip positioning under HiDPI
- Add non-GNOME-specific support for transferring focus when one
application launches another
- Distinguish between ordinary number keys and their equivalents on
the numeric keypad
- Don't try to initialize "desktop" OpenGL if GDK_GL=gles is set
- Translation updates
* (Build-)Depend on libfontconfig-dev, not transitional libfontconfig1-dev
* Build-/test-depend on dbus-daemon for dbus-run-session, instead of dbus
* d/p/build-Define-USE_XDG_ACTIVATION-conditional-when-Wayland-.patch:
Add patch to fix FTBFS for the udeb and non-Linux architectures
-- Simon McVittie <smcv@debian.org> Fri, 18 Nov 2022 11:53:03 +0000
gtk+3.0 (3.24.34-3ubuntu2) kinetic; urgency=medium
* Re-enable and adapt reftest-known-fail.patch (lp: #1987304)
......
......@@ -6,7 +6,7 @@ XSBC-Original-Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.
Uploaders: Simon McVittie <smcv@debian.org>, Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>, Jeremy Bicha <jbicha@ubuntu.com>
Build-Depends: adwaita-icon-theme-full <!nocheck>,
at-spi2-core <!nocheck>,
dbus <!nocheck>,
dbus-daemon <!nocheck>,
debhelper-compat (= 13),
dh-sequence-gir,
dh-sequence-translations,
......@@ -23,7 +23,7 @@ Build-Depends: adwaita-icon-theme-full <!nocheck>,
libcups2-dev (>= 1.7),
libegl1-mesa-dev [linux-any],
libepoxy-dev (>= 1.4),
libfontconfig1-dev,
libfontconfig-dev,
libfribidi-dev (>= 0.19.7),
libgdk-pixbuf-2.0-dev (>= 2.40.0),
libgirepository1.0-dev (>= 1.39.0),
......@@ -151,7 +151,7 @@ Depends: gir1.2-gtk-3.0 (= ${binary:Version}),
libcairo2-dev (>= 1.14.0),
libegl1-mesa-dev [linux-any],
libepoxy-dev (>= 1.0),
libfontconfig1-dev,
libfontconfig-dev,
libfribidi-dev (>= 0.19.7),
libgdk-pixbuf-2.0-dev (>= 2.40.0),
libglib2.0-dev (>= 2.57.2),
......
......@@ -6,7 +6,7 @@ XSBC-Original-Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.
Uploaders: Simon McVittie <smcv@debian.org>, @GNOME_TEAM@
Build-Depends: adwaita-icon-theme-full <!nocheck>,
at-spi2-core <!nocheck>,
dbus <!nocheck>,
dbus-daemon <!nocheck>,
debhelper-compat (= 13),
dh-sequence-gir,
dh-sequence-translations,
......@@ -23,7 +23,7 @@ Build-Depends: adwaita-icon-theme-full <!nocheck>,
libcups2-dev (>= 1.7),
libegl1-mesa-dev [linux-any],
libepoxy-dev (>= 1.4),
libfontconfig1-dev,
libfontconfig-dev,
libfribidi-dev (>= 0.19.7),
libgdk-pixbuf-2.0-dev (>= 2.40.0),
libgirepository1.0-dev (>= 1.39.0),
......@@ -151,7 +151,7 @@ Depends: gir1.2-gtk-3.0 (= ${binary:Version}),
libcairo2-dev (>= 1.14.0),
libegl1-mesa-dev [linux-any],
libepoxy-dev (>= 1.0),
libfontconfig1-dev,
libfontconfig-dev,
libfribidi-dev (>= 0.19.7),
libgdk-pixbuf-2.0-dev (>= 2.40.0),
libglib2.0-dev (>= 2.57.2),
......
......@@ -24,7 +24,7 @@ Copyright: Copyright (C) 1986, 1987, 1998 The Open Group
Copyright (C) 1998 Jiří Pavlovský <pavlovsk@ff.cuni.cz>
Copyright (C) 1999 Mark Crichton, Larry Ewing
Copyright (C) 1999 Michael Zucchi
Copyright (C) 2000 Keith Packard
Copyright (C) 2000-2002 Keith Packard
Copyright (C) 2000 SuSE Linux Ltd
Copyright (C) 2001 CodeFactory AB
Copyright (C) 2001 Havoc Pennington
......@@ -87,6 +87,9 @@ Copyright: Copyright (C) 1986, 1987, 1998 The Open Group
Copyright (C) Christian Kellner <gicmo@gnome.org>
Copyright (C) David Zeuthen <davidz@redhat.com>
Copyright (C) Javier Jardón <jjardon@gnome.org>
Copyright (C) Javier Jardón <jjardon@gnome.org>
Copyright 2012 Collabora Ltd.
Copyright 2012 Intel Corporation
License: LGPL-2+ and LGPL-2.1+ and Expat
License: LGPL-2+
......
This diff is collapsed.
From: Sebastian Keller <skeller@gnome.org>
Date: Sun, 19 Jun 2022 16:24:59 +0200
Subject: Adwaita: Hide SSD box-shadow border on maximized windows
The 1px shadow was showing up on adjacent monitors when a SSD window was
maximized. Additionally this was causing mutter to skip direct scanout
of these windows, because they extend beyond the screen.
Related: https://gitlab.gnome.org/GNOME/mutter/-/issues/2304
Origin: upstream, 3.24.35, commit:4873f63c07e62bd727746aa2d52cf1c13af6c9fd
---
gtk/theme/Adwaita/_common.scss | 2 ++
1 file changed, 2 insertions(+)
diff --git a/gtk/theme/Adwaita/_common.scss b/gtk/theme/Adwaita/_common.scss
index 198690e..dc02b49 100644
--- a/gtk/theme/Adwaita/_common.scss
+++ b/gtk/theme/Adwaita/_common.scss
@@ -4601,6 +4601,8 @@ decoration {
// just doing borders, wm draws actual shadows
.ssd & { box-shadow: 0 0 0 1px $_wm_border; }
.ssd &:backdrop { box-shadow: 0 0 0 1px $_wm_border_backdrop; }
+ .ssd.maximized &,
+ .ssd.maximized &:backdrop { box-shadow: none; }
.csd.popup & {
border-radius: $menu_radius;
......@@ -11,6 +11,7 @@ to avoid the need for a subprocess.
Co-authored-by: Matthias Clasen <mclasen@redhat.com>
Bug: https://gitlab.gnome.org/GNOME/gtk/-/issues/5119
Forwarded: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4968
Applied-upstream: 3.24.35, commit:a4f45483b1203af66eb5b2de52118ecb754c0948
---
testsuite/gtk/icontheme.c | 30 ++++++++++++------------------
testsuite/gtk/treestore.c | 30 +++++++++++++-----------------
......
From: Matthias Clasen <mclasen@redhat.com>
Date: Thu, 27 Oct 2022 11:49:03 -0400
Subject: Differentiate keypad keysyms in accelerators
When displaying accelerators, differentiate keypad
symbols with a 'KP' prefix. Fixing a 17 year old bug.
Backport of c58d9446f40b36136f25baf.
Origin: upstream, 3.24.35, commit:6cc0552ab8efe0b11f3db21224520dc97db17d9f
---
gtk/gtkaccellabel.c | 11 +++++++++++
testsuite/gtk/accel.c | 6 ++++--
2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/gtk/gtkaccellabel.c b/gtk/gtkaccellabel.c
index 0e2c50b..75b27a8 100644
--- a/gtk/gtkaccellabel.c
+++ b/gtk/gtkaccellabel.c
@@ -883,6 +883,17 @@ _gtk_accel_label_class_get_accelerator_label (GtkAccelLabelClass *klass,
if (seen_mod)
g_string_append (gstring, klass->mod_separator);
+ if (accelerator_key >= GDK_KEY_KP_Space &&
+ accelerator_key <= GDK_KEY_KP_Equal)
+ {
+ /* Translators: "KP" means "numeric key pad". This string will
+ * be used in accelerators such as "Ctrl+Shift+KP 1" in menus,
+ * and therefore the translation needs to be very short.
+ */
+ g_string_append (gstring, C_("keyboard label", "KP"));
+ g_string_append (gstring, " ");
+ }
+
switch (ch)
{
case ' ':
diff --git a/testsuite/gtk/accel.c b/testsuite/gtk/accel.c
index da031da..d6ea0bc 100644
--- a/testsuite/gtk/accel.c
+++ b/testsuite/gtk/accel.c
@@ -55,6 +55,8 @@ test_one_accel (const char *accel,
*keycodes,
mods);
+ g_print ("accel %s, label %s\n", accel, label);
+
g_assert_cmpstr (label, ==, exp_label);
name = gtk_accelerator_name_with_keycode (NULL,
@@ -83,13 +85,13 @@ accel2 (void)
static void
accel3 (void)
{
- test_one_accel ("KP_7", "7", TRUE);
+ test_one_accel ("KP_7", "KP 7", TRUE);
}
static void
accel4 (void)
{
- test_one_accel ("<Primary>KP_7", "Ctrl+7", TRUE);
+ test_one_accel ("<Primary>KP_7", "Ctrl+KP 7", TRUE);
}
static void
From: Matthias Clasen <mclasen@redhat.com>
Date: Tue, 13 Sep 2022 08:54:09 -0400
Subject: Fix a critical in GtkFontChooserWidget
When the level doesn't include the style, we need
to work a bit harder to really get a face object
here.
Bug: #5173
Origin: upstream, 3.24.35, commit:ea9aa8ed8259a1e0693c671b01661e423d2bea47
---
gtk/gtkfontchooserwidget.c | 36 +++++++++++++++++++-----------------
1 file changed, 19 insertions(+), 17 deletions(-)
diff --git a/gtk/gtkfontchooserwidget.c b/gtk/gtkfontchooserwidget.c
index bcccacb..50f3b2f 100644
--- a/gtk/gtkfontchooserwidget.c
+++ b/gtk/gtkfontchooserwidget.c
@@ -963,27 +963,29 @@ gtk_font_chooser_widget_load_fonts (GtkFontChooserWidget *fontchooser,
if ((priv->level & GTK_FONT_CHOOSER_LEVEL_STYLE) == 0)
{
GtkDelayedFontDescription *desc;
- PangoFontFace *face;
+ PangoFontFace *face = NULL;
#if PANGO_VERSION_CHECK(1,46,0)
face = pango_font_family_get_face (families[i], NULL);
-#else
- {
- PangoFontFace **faces;
- int j, n_faces;
- pango_font_family_list_faces (families[i], &faces, &n_faces);
- face = faces[0];
- for (j = 0; j < n_faces; j++)
- {
- if (strcmp (pango_font_face_get_face_name (faces[j]), "Regular") == 0)
- {
- face = faces[j];
- break;
- }
- }
- g_free (faces);
- }
#endif
+ if (!face)
+ {
+ PangoFontFace **faces;
+ int j, n_faces;
+ pango_font_family_list_faces (families[i], &faces, &n_faces);
+ face = faces[0];
+ for (j = 0; j < n_faces; j++)
+ {
+ if (strcmp (pango_font_face_get_face_name (faces[j]), "Regular") == 0)
+ {
+ face = faces[j];
+ break;
+ }
+ }
+
+ g_free (faces);
+ }
+
desc = gtk_delayed_font_description_new (face);
gtk_list_store_insert_with_values (list_store, &iter, -1,
From: =?utf-8?q?C=C3=A9dric_Krier?= <cedric.krier@b2ck.com>
Date: Tue, 19 Jul 2022 21:50:27 +0000
Subject: Fix annotation of serialize and deserialize function
Origin: upstream, 3.24.35, commit:3d406fc446f17bb22686e13b4449987cfd1c9d12
---
gtk/gtktextbufferrichtext.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/gtk/gtktextbufferrichtext.h b/gtk/gtktextbufferrichtext.h
index ecc1100..bb56b2e 100644
--- a/gtk/gtktextbufferrichtext.h
+++ b/gtk/gtktextbufferrichtext.h
@@ -34,14 +34,14 @@ G_BEGIN_DECLS
* @content_buffer: the #GtkTextBuffer to serialize
* @start: start of the block of text to serialize
* @end: end of the block of text to serialize
- * @length: Return location for the length of the serialized data
+ * @length: (out): return location for the length of the serialized data
* @user_data: user data that was specified when registering the format
*
* A function that is called to serialize the content of a text buffer.
* It must return the serialized form of the content.
*
- * Returns: (nullable): a newly-allocated array of guint8 which contains
- * the serialized data, or %NULL if an error occurred
+ * Returns: (array length=length) (nullable): a newly-allocated array of guint8
+ * which contains the serialized data, or %NULL if an error occurred
*/
typedef guint8 * (* GtkTextBufferSerializeFunc) (GtkTextBuffer *register_buffer,
GtkTextBuffer *content_buffer,
@@ -59,7 +59,7 @@ typedef guint8 * (* GtkTextBufferSerializeFunc) (GtkTextBuffer *register_b
* @length: length of @data
* @create_tags: %TRUE if deserializing may create tags
* @user_data: user data that was specified when registering the format
- * @error: return location for a #GError
+ * @error: (allow-none): return location for a #GError
*
* A function that is called to deserialize rich text that has been
* serialized with gtk_text_buffer_serialize(), and insert it at @iter.
From: =?utf-8?q?Emilio_Cobos_=C3=81lvarez?= <emilio@crisal.io>
Date: Mon, 20 Jun 2022 10:43:06 +0200
Subject: Fix coordinate space of rect in gdk_x11_window_get_frame_extents
when called on popups.
This is the same fix as !4820, but applied to the gtk 3 branch.
Origin: upstream, 3.24.35, commit:c43e3c43396abcdbd6b0f6e2565f8563b52c5027
---
gdk/x11/gdkwindow-x11.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
index 721d9bb..eb822e0 100644
--- a/gdk/x11/gdkwindow-x11.c
+++ b/gdk/x11/gdkwindow-x11.c
@@ -3240,14 +3240,19 @@ gdk_x11_window_get_frame_extents (GdkWindow *window,
impl = GDK_WINDOW_IMPL_X11 (window->impl);
/* Refine our fallback answer a bit using local information */
- rect->x = window->x * impl->window_scale;
- rect->y = window->y * impl->window_scale;
- rect->width = window->width * impl->window_scale;
- rect->height = window->height * impl->window_scale;
+ rect->x = window->x;
+ rect->y = window->y;
+ rect->width = window->width;
+ rect->height = window->height;
if (GDK_WINDOW_DESTROYED (window) || impl->override_redirect)
return;
+ rect->x *= impl->window_scale;
+ rect->y *= impl->window_scale;
+ rect->width *= impl->window_scale;
+ rect->height *= impl->window_scale;
+
nvroots = 0;
vroots = NULL;
From: =?utf-8?q?Emilio_Cobos_=C3=81lvarez?= <emilio@crisal.io>
Date: Fri, 21 Oct 2022 14:22:51 +0200
Subject: Fix hotspot positioning with scaled surface.
Fixes !5278 to behave the same way as X11.
Origin: upstream, 3.24.35, commit:686864a118e857a2a532cce8b33e78ca76857b98
---
gdk/wayland/gdkcursor-wayland.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/gdk/wayland/gdkcursor-wayland.c b/gdk/wayland/gdkcursor-wayland.c
index f5aa468..c3e9728 100644
--- a/gdk/wayland/gdkcursor-wayland.c
+++ b/gdk/wayland/gdkcursor-wayland.c
@@ -476,6 +476,8 @@ _gdk_wayland_display_get_cursor_for_surface (GdkDisplay *display,
cursor->surface.scale = (int)sx;
cursor->surface.width = cairo_image_surface_get_width (surface);
cursor->surface.height = cairo_image_surface_get_height (surface);
+ cursor->surface.hotspot_x *= sx;
+ cursor->surface.hotspot_y *= sx;
}
else
{
From: Jordi Mas <jmas@softcatala.org>
Date: Fri, 26 Aug 2022 20:49:42 +0200
Subject: Fixes to Catalan translation
Origin: upstream, 3.24.35, commit:a02858a5e8546db71394d7ecad60404c7d62109c
---
po-properties/ca.po | 2 +-
po/ca.po | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/po-properties/ca.po b/po-properties/ca.po
index 7d677d4..2e58b73 100644
--- a/po-properties/ca.po
+++ b/po-properties/ca.po
@@ -9302,7 +9302,7 @@ msgstr "Memòria intermèdia doble"
#: gtk/gtkwidget.c:1364
msgid "Whether the widget is double buffered"
-msgstr "Si el giny utilitza una doble memòria intermèdia"
+msgstr "Si el giny utilitza una memòria intermèdia doble"
#: gtk/gtkwidget.c:1378
msgid "How to position in extra horizontal space"
diff --git a/po/ca.po b/po/ca.po
index d64472e..20736d8 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -7386,7 +7386,7 @@ msgstr "Connecta al _servidor"
#: gtk/ui/gtkplacesview.ui:340
msgid "Enter server address…"
-msgstr "Introduïu l'adreça del servidor..."
+msgstr "Introduïu l'adreça del servidor…"
#: gtk/ui/gtkprintunixdialog.ui:112
msgid "Printer"
From: Sergio Costas <rastersoft@gmail.com>
Date: Tue, 16 Aug 2022 23:14:44 +0200
Subject: Further simplification
Origin: upstream, 3.24.35, commit:4892c8901b16b533d4c583eabc805e1f2a84f33d
---
gtk/gtkpopover.c | 19 ++++---------------
1 file changed, 4 insertions(+), 15 deletions(-)
diff --git a/gtk/gtkpopover.c b/gtk/gtkpopover.c
index 4182c5f..45680d0 100644
--- a/gtk/gtkpopover.c
+++ b/gtk/gtkpopover.c
@@ -456,7 +456,7 @@ window_focus_in (GtkWidget *widget,
if (focus == NULL || !gtk_widget_is_ancestor (focus, GTK_WIDGET (popover)))
gtk_widget_grab_focus (GTK_WIDGET (popover));
- if (priv->grab_notify_blocked)
+ if (priv->grab_notify_blocked && priv->widget)
g_signal_handler_unblock (priv->widget, priv->grab_notify_id);
priv->grab_notify_blocked = FALSE;
@@ -2097,7 +2097,6 @@ gtk_popover_update_relative_to (GtkPopover *popover,
{
GtkPopoverPrivate *priv = popover->priv;
GtkStateFlags old_state = 0;
- gboolean had_grab_notify_blocked = FALSE;
if (priv->widget == relative_to)
return;
@@ -2124,14 +2123,7 @@ gtk_popover_update_relative_to (GtkPopover *popover,
if (g_signal_handler_is_connected (priv->widget, priv->state_changed_id))
g_signal_handler_disconnect (priv->widget, priv->state_changed_id);
if (g_signal_handler_is_connected (priv->widget, priv->grab_notify_id))
- {
- if (priv->grab_notify_blocked)
- {
- priv->grab_notify_blocked = FALSE;
- had_grab_notify_blocked = TRUE;
- }
- g_signal_handler_disconnect (priv->widget, priv->grab_notify_id);
- }
+ g_signal_handler_disconnect (priv->widget, priv->grab_notify_id);
widget_unmanage_popover (priv->widget, popover);
}
@@ -2167,11 +2159,8 @@ gtk_popover_update_relative_to (GtkPopover *popover,
g_signal_connect (priv->widget, "grab-notify",
G_CALLBACK (_gtk_popover_parent_grab_notify),
popover);
- if (had_grab_notify_blocked)
- {
- g_signal_handler_block (priv->widget, priv->grab_notify_id);
- priv->grab_notify_blocked = TRUE;
- }
+ if (priv->grab_notify_blocked)
+ g_signal_handler_block (priv->widget, priv->grab_notify_id);
/* Give ownership of the popover to widget */
widget_manage_popover (priv->widget, popover);
From: Luca Bacci <luca.bacci982@gmail.com>
Date: Wed, 26 Oct 2022 15:16:41 +0200
Subject: GtkTooltip: Scale the cursor size on X11
GtkSettings/X11 takes the values as provided by
XSettings. Unlike other backends, the values of
XSettings are in physical size (that's because
X11 doesn't support mixed-DPI setups anyway).
Take that in account when retrieving the cursor
size in gtk_tooltip_position ().
Note that this discrepancy between the X11 and
other backends has been fixed in GTK4.
Bug: https://gitlab.gnome.org/GNOME/gtk/-/issues/5223
Origin: upstream, 3.24.35, commit:bbce00f3a38caa2c1399e3e80fba1ee3861dbc8e
---
gtk/gtktooltip.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/gtk/gtktooltip.c b/gtk/gtktooltip.c
index 9917d93..ca149fc 100644
--- a/gtk/gtktooltip.c
+++ b/gtk/gtktooltip.c
@@ -42,6 +42,9 @@
#ifdef GDK_WINDOWING_WAYLAND
#include "wayland/gdkwayland.h"
#endif
+#ifdef GDK_WINDOWING_X11
+#include "x11/gdkx.h"
+#endif
/**
@@ -898,6 +901,16 @@ gtk_tooltip_position (GtkTooltip *tooltip,
if (cursor_size == 0)
cursor_size = gdk_display_get_default_cursor_size (display);
+#ifdef GDK_WINDOWING_X11
+ if (GDK_IS_X11_SCREEN (screen))
+ {
+ /* Cursor size on X11 comes directly from XSettings which
+ * report physical sizes, unlike on other backends. So in
+ * that case we have to scale the retrieved cursor_size */
+ cursor_size /= gtk_widget_get_scale_factor (new_tooltip_widget);
+ }
+#endif
+
if (device)
anchor_rect_padding = MAX (4, cursor_size - 32);
else
This diff is collapsed.
From: Nate Eldredge <nate@thatsmathematics.com>
Date: Sat, 17 Sep 2022 15:06:27 +0200
Subject: Recognize "stylus" devices as GDK_SOURCE_PEN
Add "stylus" to the list of substrings in a device name that cause it to be recognized
as a GDK_SOURCE_PEN device (previously "wacom", "pen" and "eraser"). Some devices
just use "stylus" in their name, and are otherwise recognized as
GDK_SOURCE_TOUCHSCREEN instead.
Bug: #4394
Origin: upstream, 3.24.35, commit:8984b13d84249c17d37750d14c9e9832cf0b3b8c
---
gdk/x11/gdkdevicemanager-xi2.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gdk/x11/gdkdevicemanager-xi2.c b/gdk/x11/gdkdevicemanager-xi2.c
index 193dd47..a65116a3 100644
--- a/gdk/x11/gdkdevicemanager-xi2.c
+++ b/gdk/x11/gdkdevicemanager-xi2.c
@@ -453,7 +453,8 @@ create_device (GdkDeviceManager *device_manager,
else if (strstr (tmp_name, " pad"))
input_source = GDK_SOURCE_TABLET_PAD;
else if (strstr (tmp_name, "wacom") ||
- strstr (tmp_name, "pen"))
+ strstr (tmp_name, "pen") ||
+ strstr (tmp_name, "stylus"))
input_source = GDK_SOURCE_PEN;
else if (!strstr (tmp_name, "mouse") &&
!strstr (tmp_name, "pointer") &&
From: =?utf-8?q?C=C3=A9dric_Krier?= <ced@b2ck.com>
Date: Wed, 20 Jul 2022 09:52:40 +0200
Subject: Remove annotation for GError
Origin: upstream, 3.24.35, commit:31490df2b142938eef4df8bb783a8cbec2861779
---
gtk/gtktextbufferrichtext.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gtk/gtktextbufferrichtext.h b/gtk/gtktextbufferrichtext.h
index bb56b2e..aecdbde 100644
--- a/gtk/gtktextbufferrichtext.h
+++ b/gtk/gtktextbufferrichtext.h
@@ -59,7 +59,7 @@ typedef guint8 * (* GtkTextBufferSerializeFunc) (GtkTextBuffer *register_b
* @length: length of @data
* @create_tags: %TRUE if deserializing may create tags
* @user_data: user data that was specified when registering the format
- * @error: (allow-none): return location for a #GError
+ * @error: return location for a #GError
*
* A function that is called to deserialize rich text that has been
* serialized with gtk_text_buffer_serialize(), and insert it at @iter.
From: Sergio Costas <rastersoft@gmail.com>
Date: Mon, 15 Aug 2022 15:35:06 +0200
Subject: Remove unneeded unblock
When a signal handler is disconnected, it doesn't matter if it
was blocked or not, so there's no need to unlock it before
disconnection.
Origin: upstream, 3.24.35, commit:02ea88bba2169e4a6d3bcc2dda25133a0ec5f45b
---
gtk/gtkpopover.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/gtk/gtkpopover.c b/gtk/gtkpopover.c
index 312d933..4182c5f 100644
--- a/gtk/gtkpopover.c
+++ b/gtk/gtkpopover.c
@@ -2127,7 +2127,6 @@ gtk_popover_update_relative_to (GtkPopover *popover,
{
if (priv->grab_notify_blocked)
{
- g_signal_handler_unblock (priv->widget, priv->grab_notify_id);
priv->grab_notify_blocked = FALSE;
had_grab_notify_blocked = TRUE;
}
From: Luca Bacci <luca.bacci982@gmail.com>
Date: Fri, 4 Nov 2022 10:58:37 +0100
Subject: Revert "wayland/cursor: Sanity check cursor image size"
This reverts commit da4066774b926880631af099469d308714b5606c.
Origin: upstream, 3.24.35, commit:4432a037429d8f7d272c58747967d82f3bd563b9
---
gdk/wayland/gdkcursor-wayland.c | 21 +++++----------------
1 file changed, 5 insertions(+), 16 deletions(-)
diff --git a/gdk/wayland/gdkcursor-wayland.c b/gdk/wayland/gdkcursor-wayland.c
index c3e9728..1df5a02 100644
--- a/gdk/wayland/gdkcursor-wayland.c
+++ b/gdk/wayland/gdkcursor-wayland.c
@@ -223,7 +223,6 @@ _gdk_wayland_cursor_get_buffer (GdkCursor *cursor,
if (wayland_cursor->wl_cursor)
{
struct wl_cursor_image *image;
- int cursor_scale;
if (image_index >= wayland_cursor->wl_cursor->image_count)
{
@@ -235,22 +234,12 @@ _gdk_wayland_cursor_get_buffer (GdkCursor *cursor,
image = wayland_cursor->wl_cursor->images[image_index];
- cursor_scale = wayland_cursor->scale;
- if ((image->width % cursor_scale != 0) ||
- (image->height % cursor_scale != 0))
- {
- g_warning (G_STRLOC " cursor image size (%dx%d) not an integer"
- "multiple of scale (%d)", image->width, image->height,
- cursor_scale);
- cursor_scale = 1;
- }
-
- *hotspot_x = image->hotspot_x / cursor_scale;
- *hotspot_y = image->hotspot_y / cursor_scale;
+ *hotspot_x = image->hotspot_x / wayland_cursor->scale;
+ *hotspot_y = image->hotspot_y / wayland_cursor->scale;
- *w = image->width / cursor_scale;
- *h = image->height / cursor_scale;
- *scale = cursor_scale;
+ *w = image->width / wayland_cursor->scale;
+ *h = image->height / wayland_cursor->scale;
+ *scale = wayland_cursor->scale;
return wl_cursor_image_get_buffer (image);
}