Package: gtk4 / 4.8.3+ds-2+deb12u1

Metadata

Package Version Patches format
gtk4 4.8.3+ds-2+deb12u1 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
Update Abkhazian translation.patch | (download)

po/ab.po | 92 46 + 46 - 0 !
1 file changed, 46 insertions(+), 46 deletions(-)

 update abkhazian translation

gtkcolumnviewcolumn Only create cells when the column is .patch | (download)

gtk/gtkcolumnlistitemfactory.c | 9 5 + 4 - 0 !
gtk/gtkcolumnviewcolumn.c | 10 3 + 7 - 0 !
2 files changed, 8 insertions(+), 11 deletions(-)

 gtkcolumnviewcolumn: only create cells when the column is visible

Merge branch 'wip/corey/list-item-visible' into 'main'

listitemwidget: Setup factory only once the widget is visible

See merge request GNOME/gtk!5374

(cherry picked from commit 188f9269b7e25847d4d50ba12c004f5da81aa352)

Update Turkish translation.patch | (download)

po/tr.po | 90 45 + 45 - 0 !
1 file changed, 45 insertions(+), 45 deletions(-)

 update turkish translation

Update Turkish translation 1.patch | (download)

po/tr.po | 28 14 + 14 - 0 !
1 file changed, 14 insertions(+), 14 deletions(-)

 update turkish translation

gdk surface Handle clicks outside client surfaces.patch | (download)

gdk/gdksurface.c | 26 18 + 8 - 0 !
gdk/gdksurfaceprivate.h | 1 1 + 0 - 0 !
2 files changed, 19 insertions(+), 8 deletions(-)

 gdk/surface: handle clicks outside client surfaces

The owner_events=TRUE grab makes GDK on X11 see events happening
outside every client window as received on the grab window.
Additionally check that the pointer is inside the grab window
(i.e. it received GDK_CROSSING_NORMAL crossing events for the
core pointer) in order to handle clicks happening outside client
windows.

These new paths are expected to be a no-op on Wayland, and to
also work for touchscreen input on X11, due to emulated pointer
events.

Bug: https://gitlab.gnome.org/GNOME/gtk/-/issues/5364
Bug: https://gitlab.gnome.org/GNOME/gtk/-/issues/5400
fontchooser Drop a few errant translations.patch | (download)

gtk/ui/gtkfontchooserwidget.ui | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 fontchooser: drop a few errant translations

No point in translating these properties, they
are not strings.

Bug: https://gitlab.gnome.org/GNOME/gtk/-/issues/5146
gtkcssanimatedstyle Fix return of new_advance.patch | (download)

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

 gtkcssanimatedstyle: fix return of new_advance()

This was causing animation and transition to stop randomly and reset
their state to initial state.

This issue has existed since commit
7b68bdb8316fc1bb96c4a5ad16c1885506131d22.

Bug: https://gitlab.gnome.org/GNOME/gtk/-/issues/4426
Update Turkish translation 2.patch | (download)

po/tr.po | 28 14 + 14 - 0 !
1 file changed, 14 insertions(+), 14 deletions(-)

 update turkish translation

gdk x11 Reset all scroll valuators on enter.patch | (download)

gdk/x11/gdkdevicemanager-xi2.c | 15 3 + 12 - 0 !
1 file changed, 3 insertions(+), 12 deletions(-)

 gdk/x11: reset all scroll valuators on enter

We no longer need to make much distinction between multiple logical
devices, plus it breaks esp. with the Xwayland input device distribution.
Just iterate across all devices and reset their scroll valuators.

(cherry picked from commit 824e983372d939693f7eba5c394e647a9035a0f8)

placessidebar Make all rows ellipsize.patch | (download)

gtk/gtksidebarrow.c | 5 0 + 5 - 0 !
gtk/ui/gtksidebarrow.ui | 1 1 + 0 - 0 !
2 files changed, 1 insertion(+), 5 deletions(-)

 placessidebar: make all rows ellipsize

Otherwise, we end up with a single long row
pushing the content of all the other rows
off to the left, which is much worse than
ellipsizing.

Bug: https://gitlab.gnome.org/GNOME/gtk/-/issues/4710
Bug-Debian: https://bugs.debian.org/1043261
testsuite Use separate setups for unstable tests instead .patch | (download)

.gitlab-ci.yml | 3 3 + 0 - 0 !
.gitlab-ci/run-tests.sh | 70 55 + 15 - 0 !
testsuite/a11y/meson.build | 7 0 + 7 - 0 !
testsuite/gdk/meson.build | 4 3 + 1 - 0 !
testsuite/gtk/meson.build | 24 6 + 18 - 0 !
testsuite/meson.build | 68 33 + 35 - 0 !
testsuite/reftests/meson.build | 81 47 + 34 - 0 !
7 files changed, 147 insertions(+), 110 deletions(-)

 testsuite: use separate setups for unstable tests instead of
 should_fail

There are two possible interpretations of "expected failure": either
the test *must* fail (exactly the inverse of an ordinary test, with
success becoming failure and failure becoming success), or the test
*may* fail (with success intended, but failure possible in some
environments). Autotools had the second interpretation, which seems
more useful in practice, but Meson has the first.

Instead of using should_fail, we can put the tests in one of two new
suites: "flaky" is intended for tests that succeed or fail unpredictably
according to the test environment or chance, while "failing" is for
tests that ought to succeed but currently never do as a result of a
bug or missing functionality. With a sufficiently new version of Meson,
the flaky and failing tests are not run by default, but can be requested
by running a setup that does not exclude them, with a command like:

    meson test --setup=x11_unstable --suite=flaky --suite=failing

As a bonus, now that we're setting up setups and their excluded suites
programmatically, the gsk-compare-broadway tests are also excluded by
default when running the test setup for a non-broadway backend.

When running the tests in CI, --suite=gtk overrides the default
exclude_suites, so we have to specify --no-suite=flaky and
--no-suite=failing explicitly.

This arrangement is inspired by GNOME/glib!2987, which was contributed
by Marco Trevisan.

Signed-off-by: Simon McVittie <smcv@debian.org>
testsuite Don t create .test files for flaky or failing t.patch | (download)

testsuite/gdk/meson.build | 6 6 + 0 - 0 !
testsuite/gtk/meson.build | 6 6 + 0 - 0 !
2 files changed, 12 insertions(+)

 testsuite: don't create .test files for flaky or failing tests

These tests can be run manually, but are not suitable for use as an
acceptance test, so let's not make frameworks like Debian's autopkgtest
run these when they run ginsttest-runner in the most obvious way.

Signed-off-by: Simon McVittie <smcv@debian.org>
node editor Save test data relative to current working di.patch | (download)

demos/node-editor/meson.build | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 node-editor: save test data relative to current working directory

This avoids hard-coding the GTK source directory into the binary, which
debian/reftest_compare_surfaces Report how much the images diffe.patch | (download)

testsuite/gsk/compare-render.c | 9 8 + 1 - 0 !
testsuite/reftests/gtk-reftest.c | 9 8 + 1 - 0 !
testsuite/reftests/reftest-compare.c | 28 25 + 3 - 0 !
testsuite/reftests/reftest-compare.h | 5 4 + 1 - 0 !
4 files changed, 45 insertions(+), 6 deletions(-)

 reftest_compare_surfaces: report how much the images differ

In unattended/non-interactive/autobuilder environments where the images
are not trivially accessible, this provides a way to distinguish between
debian/reftests Allow minor differences to be tolerated.patch | (download)

testsuite/gsk/compare-render.c | 31 30 + 1 - 0 !
testsuite/reftests/gtk-reftest.c | 32 31 + 1 - 0 !
testsuite/reftests/image-compare.c | 2 1 + 1 - 0 !
3 files changed, 62 insertions(+), 3 deletions(-)

 reftests: allow minor differences to be tolerated

Based on an earlier patch by Michael Biebl, as used in Debian's GTK 3
packaging, with additional inspiration from librsvg's reftests.

Each .ui or .node reftest can have an accompanying .keyfile file
like this:

    [reftest]
debian/Disable inscription markup.ui reftest.patch | (download)

testsuite/reftests/meson.build | 2 2 + 0 - 0 !
1 file changed, 2 insertions(+)

 disable inscription-markup.ui reftest

It's rendered 1px to the left of where it should be, which is not a
serious problem for practical use of GTK, but is a test failure.

Bug: https://gitlab.gnome.org/GNOME/gtk/-/issues/5099
debian/Disable clipboard test.patch | (download)

testsuite/gdk/meson.build | 4 3 + 1 - 0 !
1 file changed, 3 insertions(+), 1 deletion(-)

 disable clipboard test

This regularly times out on buildds, but I can't reproduce the hang
locally.

Bug: https://gitlab.gnome.org/GNOME/gtk/-/issues/4229