The problem seems to be that GtkWidgetPaintable isn't triggering the
"invalidate-contents" signal.

The test code related with the bug is `gtk-reftest.c'. In the
`test_ui_file()`
https://gitlab.gnome.org/GNOME/gtk/-/blob/4.14.5/testsuite/reftests/gtk-
reftest.c?ref_type=tags#L349 function it calls
`reftest_snapshot_ui_file()`
https://gitlab.gnome.org/GNOME/gtk/-/blob/4.14.5/testsuite/reftests/reftest-
snapshot.c?ref_type=tags#L296 to generate an snapshot of the GTK
interface defined by an `.ui` file (which later would be compared with
the interface generated by a file with the same name, but ended in
`.ref.ui`). That function creates the UI using GtkBuilder(), and then it
calls `snapshot_widget()`
https://gitlab.gnome.org/GNOME/gtk/-/blob/4.14.5/testsuite/reftests/reftest-
snapshot.c?ref_type=tags#L270 .

This is the function that creates the snapshot itself. To do so, it
creates a GtkWidgetPaintable from the passed window, connects to the
"invalidate-contents" signal, and enters a GMainLoop to wait for it.
When it arrives, it calls `draw_paintable()`
https://gitlab.gnome.org/GNOME/gtk/-/blob/4.14.5/testsuite/reftests/reftest-
snapshot.c?ref_type=tags#L223 which creates the picture and launches an
idle timeout to quit the GMainLoop.

Unfortunately, in some of the tests, the signal is never triggered by
the GtkWidgetPaintable, so `draw_paintable()` is never called and the
test never exits the GMainLoop.

-- 
You received this bug notification because you are a member of Ubuntu-X,
which is subscribed to mesa in Ubuntu.
https://bugs.launchpad.net/bugs/2119291

Title:
  mesa 25.0.7 SRU breaks gtk4 on s390x

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gtk4/+bug/2119291/+subscriptions


_______________________________________________
Mailing list: https://launchpad.net/~ubuntu-x-swat
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~ubuntu-x-swat
More help   : https://help.launchpad.net/ListHelp

Reply via email to