After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 782381 - Qt application buttons blink randomly after being pressed
Qt application buttons blink randomly after being pressed
Status: RESOLVED OBSOLETE
Product: mutter
Classification: Core
Component: wayland
unspecified
Other Linux
: Normal normal
: ---
Assigned To: mutter-maint
mutter-maint
Depends on:
Blocks:
 
 
Reported: 2017-05-09 12:47 UTC by Martin Bříza
Modified: 2018-07-31 11:43 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Notice how the buttons are all in different animation states, despite the fact only one should be different. (54.02 KB, image/png)
2017-05-09 12:47 UTC, Martin Bříza
Details

Description Martin Bříza 2017-05-09 12:47:37 UTC
Created attachment 351429 [details]
Notice how the buttons are all in different animation states, despite the fact only one should be different.

I tried this with Qt 5.7.1 (supports xdg_shell-v5 -> falls back to wl_*) and Qt 5.9 beta (supports xdg_shell-v5) under Fedora 26 with GNOME 3.24.1-1 and GTK 3.22.12-2.

An example application to test this could be KCalc, which has a lot of buttons and other elements which exhibit this behavior (especially when switched to the scientific mode).

You can run most Qt (and KDE) apps by running "<app> -platform wayland" or by setting QT_QPA_PLATFORM=wayland

When you start clicking the buttons, you will notice the other buttons (that you have previously clicked) change the color too, at random, to some other animation state they had at some point in the past. This does not occur in any other compositor which leads me to believe this is Mutter-related.

My description may be too confusing so in case you don't understand, please let me know and I'll try to explain it in different words.
Comment 1 Martin Bříza 2017-05-11 12:16:10 UTC
An example would be this, after running "kcalc -platform wayland -style windows" (windows style because everything is strictly rectangular and there are no animations):

Clicking a button (after clicking a bunch of some other ones) brings these calls:
[1494378.107] wl_pointer@9.button(397536, 782737878, 272, 0)
[1494378.648]  -> wl_surface@19.frame(new id wl_callback@26)
[1494378.674]  -> wl_surface@19.attach(wl_buffer@25, 0, 0)
[1494378.684]  -> wl_surface@19.damage(382, 393, 57, 47)
[1494378.704]  -> wl_surface@19.commit()
[1494379.485]  -> wl_surface@19.frame(new id wl_callback@30)
[1494379.498]  -> wl_surface@19.attach(wl_buffer@29, 0, 0)
[1494379.507]  -> wl_surface@19.damage(16, 72, 706, 57)
[1494379.517]  -> wl_surface@19.commit()
[1494394.331] wl_display@1.delete_id(30)
[1494394.355] wl_display@1.delete_id(26)
[1494394.360] wl_buffer@25.release()
[1494394.363] wl_buffer@29.release()
[1494394.366] wl_callback@30.done(782737894)

However, at the same time, a button at the area (443, 393, 57, 96) was not damaged for a couple of seconds but it gets repainted along with these two areas (the button that was clicked and the display area).
Comment 2 Martin Bříza 2017-08-01 15:21:45 UTC
I tried running the app in a proxy Wayland server (a modified test from KWayland), saving the state of all the Wayland buffers along the way and all the buffers was perfect, without any glitches, which indicates this probably actually is a Mutter bug.
Comment 3 Jonas Ådahl 2018-07-31 11:43:20 UTC
Closing this in favor of https://gitlab.gnome.org/GNOME/mutter/issues/199 as it has reproducers attached to the report.