Package: gtk+3.0 / 3.24.24-4

Metadata

Package Version Patches format
gtk+3.0 3.24.24-4 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
gdkpixbuf drawable Free the pixbuf on Cairo error.patch | (download)

gdk/gdkpixbuf-drawable.c | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 gdkpixbuf-drawable: free the pixbuf on cairo error

This avoids leaking the pixbuf.

Wayland ignore touch tablet events on destroyed surfaces.patch | (download)

gdk/wayland/gdkdevice-wayland.c | 81 66 + 15 - 0 !
1 file changed, 66 insertions(+), 15 deletions(-)

 wayland: ignore touch/tablet events on destroyed surfaces

When destroying a wl_surface (e.g. when a window or menu is closed), the
surface may continue to exist in the compositor slightly longer than on
the client side. In that case, the surface can still receive input
events, which need to be ignored gracefully.
In particular, this prevents segfaulting on wl_surface_get_user_data()
in that situation.

Reported in
https://gitlab.gnome.org/GNOME/gtk/-/issues/3296

The same issue for pointers/keyboards was reported in
https://bugzilla.gnome.org/show_bug.cgi?id=693338

and fixed with in
bfd7137ffbcbd8caa531d7a47d799fefb6605a5a
3625f17857328ae7e7aa43340f29efa56575a7b0
a8fc099a725543649fe3aab76943c14bdcd860fc

gdk wayland Mark matched settings from the portal as vali.patch | (download)

gdk/wayland/gdkscreen-wayland.c | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 gdk/wayland: mark matched settings from the portal as valid

Commit e6209de9625 added some checks on TranslationEntry.valid in
order to figure out whether using the new font settings or the
old g-s-d ones. However that's only set in the non-sandboxed case.

This makes sandboxed applications fallback to the old (and also
non-existing with modern g-s-d) settings, possibly resulting in
ugly defaults being picked.

Fix this by also marking TranslationEntry elements as valid when
using the settings portal, precisely those entries that we are able
to read and match with our own table.

gdk wayland Look for font settings recursively.patch | (download)

gdk/wayland/gdkscreen-wayland.c | 10 3 + 7 - 0 !
1 file changed, 3 insertions(+), 7 deletions(-)

 gdk/wayland: look for font settings recursively

Use the infrastructure already available to look up keys, instead.
This does the right thing and looks up the setting across all
sources.

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3680
label Skip updating link state if we have no layout.patch | (download)

gtk/gtklabel.c | 5 5 + 0 - 0 !
1 file changed, 5 insertions(+)

 label: skip updating link state if we have no layout

updateiconcache Sort list of entries.patch | (download)

gtk/updateiconcache.c | 9 9 + 0 - 0 !
1 file changed, 9 insertions(+)

 updateiconcache: sort list of entries

because filesystem readdir order is indeterministic.

Without this patch, building openSUSE's balsa package
had variations between builds in /usr/share/balsa/icon-theme.cache

x11 dnd Ignore XErrors from the COW.patch | (download)

gdk/x11/gdkdnd-x11.c | 2 2 + 0 - 0 !
1 file changed, 2 insertions(+)

 x11/dnd: ignore xerrors from the cow

The DnD code for X11 adds the composite overlay window (aka COW) to the
cache.

Yet the X11 requests to get and release the COW may trigger XErrors that
we ought to ignore otherwise the client will abort.

Bug: https://gitlab.gnome.org/GNOME/gtk/-/issues/3715
Bug-Ubuntu: https://launchpad.net/bugs/1911036
cssshadowvalue Apply device scale to the offset when blur.patch | (download)

gtk/gtkcssshadowvalue.c | 4 3 + 1 - 0 !
1 file changed, 3 insertions(+), 1 deletion(-)

 cssshadowvalue: apply device scale to the offset when blurring text

Although the surface already has the device scale set, that doesn't
apply to the offset which is in raw device units. So we need to scale
the device offset explicitly.

Bug: https://gitlab.com/rastersoft/desktop-icons-ng/-/issues/119
scale Fix sporadic criticals.patch | (download)

gtk/gtkscale.c | 17 10 + 7 - 0 !
1 file changed, 10 insertions(+), 7 deletions(-)

 scale: fix sporadic criticals

gtk_css_node_update_layout_attributes can cause us to
free priv->layout, and then bad things happen. Therefore,
we must call that function on a new layout *before* setting
priv->layout.

fontchooser Fix some since annotations.patch | (download)

gtk/gtkfontchooser.c | 6 3 + 3 - 0 !
1 file changed, 3 insertions(+), 3 deletions(-)

 fontchooser: fix some since annotations

The "level", "font-features" and "language" were annotated
with the wrong version.

Bug: https://gitlab.gnome.org/GNOME/gtk/-/issues/1830
x11 Be quiet on exit by default.patch | (download)

gdk/x11/gdkmain-x11.c | 23 6 + 17 - 0 !
1 file changed, 6 insertions(+), 17 deletions(-)

 x11: be quiet on exit by default

The condition we check for to catch X servers going away
may not be accurate anymore, and the warning shows up in
logs, causing customers to be concerned. So, be quiet by
default, unless the user explicitly asked for a message.

Fix a possible crash in gtk_show_uri.patch | (download)

gdk/x11/gdkapplaunchcontext-x11.c | 3 3 + 0 - 0 !
1 file changed, 3 insertions(+)

 fix a possible crash in gtk_show_uri

g_file_get_basename can return NULL.
Deal with it somehow.

Bug: https://gitlab.gnome.org/GNOME/gtk/-/issues/3883
x11 Don t beep on untrusted displays.patch | (download)

gdk/x11/gdkdisplay-x11.c | 3 3 + 0 - 0 !
gdk/x11/gdkwindow-x11.c | 3 3 + 0 - 0 !
2 files changed, 6 insertions(+)

 x11: don't beep on untrusted displays

This can trigger BadAccess, and we don't
want that.

Bug: https://gitlab.gnome.org/GNOME/gtk/-/issues/3862
placesview Open location even if mount was not found.patch | (download)

gtk/gtkplacesview.c | 9 9 + 0 - 0 !
1 file changed, 9 insertions(+)

 placesview: open location even if mount was not found

Some locations have to be mounted, but their mounts are not user-visible
(e.g. smb-browse). Though this is maybe a bit weird, it is how it works
for years. The problem is that the commit 267ea755, which tries to get the
default location for opening, caused regression as it doesn't expect such
possibility. Before this commit, such locations were opened without any
issue, but nothing happens currently after clicking to "Connect" except of
clearing the "Connect to Server" entry. Let's fallback to the original
location if the mount was not found to fix this regression.

Bug: https://gitlab.gnome.org/GNOME/nautilus/-/issues/1811
gdk Don t distribute generated files in tarballs.patch | (download)

gdk/Makefile.am | 29 6 + 23 - 0 !
1 file changed, 6 insertions(+), 23 deletions(-)

 gdk: don't distribute generated files in tarballs

gdkversionmacros.h is generated by configure, so it should be in
DISTCLEANFILES. The rest of $(gdk_built_sources) are built at compile
time by GLib tools, so in principle they should be in CLEANFILES, but
DISTCLEANFILES is close enough.

This is a continuation of the same general topic as commit dad773b1.

Signed-off-by: Simon McVittie <smcv@debian.org>
gtk Really don t distribute built files.patch | (download)

gtk/Makefile.am | 15 7 + 8 - 0 !
1 file changed, 7 insertions(+), 8 deletions(-)

 gtk: really don't distribute built files

This is a continuation of commit dad773b1.

Signed-off-by: Simon McVittie <smcv@debian.org>
demos examples tests Don t distribute built files.patch | (download)

demos/gtk-demo/Makefile.am | 14 9 + 5 - 0 !
demos/icon-browser/Makefile.am | 9 5 + 4 - 0 !
demos/widget-factory/Makefile.am | 9 4 + 5 - 0 !
examples/application10/Makefile.am | 4 3 + 1 - 0 !
examples/application2/Makefile.am | 7 5 + 2 - 0 !
examples/application3/Makefile.am | 7 5 + 2 - 0 !
examples/application4/Makefile.am | 7 5 + 2 - 0 !
examples/application5/Makefile.am | 4 3 + 1 - 0 !
examples/application6/Makefile.am | 4 3 + 1 - 0 !
examples/application7/Makefile.am | 4 3 + 1 - 0 !
examples/application8/Makefile.am | 4 3 + 1 - 0 !
examples/application9/Makefile.am | 4 3 + 1 - 0 !
testsuite/css/style/Makefile.am | 5 4 + 1 - 0 !
testsuite/gtk/Makefile.am | 4 3 + 1 - 0 !
14 files changed, 58 insertions(+), 28 deletions(-)

 demos, examples, tests: don't distribute built files

Signed-off-by: Simon McVittie <smcv@debian.org>
016_no_offscreen_widgets_grabbing.patch | (download)

gtk/gtkmain.c | 5 5 + 0 - 0 !
1 file changed, 5 insertions(+)

 don't let offscreen widget do grabbing

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=607668
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=658563
Bug: https://gitlab.gnome.org/GNOME/gtk/issues/368
Bug-Ubuntu: https://bugs.launchpad.net/bugs/512427
017_no_offscreen_device_grabbing.patch | (download)

gtk/gtkmain.c | 5 5 + 0 - 0 !
1 file changed, 5 insertions(+)

 do not allow devices in an offscreen hierarchy to take grabs.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=658563
Bug: https://gitlab.gnome.org/GNOME/gtk/issues/368
Bug-Ubuntu: https://launchpad.net/bugs/804009
060_ignore random icons.patch | (download)

gtk/updateiconcache.c | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 don't list images from unknown directories in icon cache

After GTK 2.12.0, gtk-update-icon-cache fails if there is a PNG file
placed directly in /usr/share/icons/hicolor (not in a correct
subdirectory like 48x48/apps).

reftest known fail.patch | (download)

testsuite/reftests/gtk-reftest.c | 22 21 + 1 - 0 !
1 file changed, 21 insertions(+), 1 deletion(-)

 mark known failing tests as non-fatal

Disable accessibility dump aka a11ytests test.patch | (download)

testsuite/a11y/Makefile.am | 3 0 + 3 - 0 !
1 file changed, 3 deletions(-)

 disable accessibility-dump (aka a11ytests) test

This test seems to be unreliable, with its results depending on
unknown environmental factors. Upstream disable it for CI purposes,
so we should probably do the same.