-
-
Notifications
You must be signed in to change notification settings - Fork 54
Don't event-buffer ConfigureNotify, MapNotify, and ReparentNotify events #172
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
When event buffering is enabled for a qube, previously Qt applications would exhibit some strange flickering / element resizing when opening application menus. This appears to be because ConfigureNotify events were being delayed, causing Qt to draw elements of the user interface with incorrect size and position information. It would then likely have to redraw the menu with the correct information once that information was available to it. ConfigureNotify, MapNotify, and ReparentNotify events all look like they can be passed through without negative effects on anonymity, so make them exempt from event buffering. This appears to resolve the flickering issue. Fixes: QubesOS/qubes-issues#10286
OpenQA test summaryComplete test suite and dependencies: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025101510-4.3&flavor=pull-requests Test run included the following:
New failures, excluding unstableCompared to: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025081011-4.3&flavor=update
Failed tests18 failures
Fixed failuresCompared to: https://openqa.qubes-os.org/tests/149225#dependencies 83 fixed
Unstable testsPerformance TestsPerformance degradation:14 performance degradations
Remaining performance tests:165 tests
|
|
Do you have a test case for this? Some specific application that was especially affected by this issue? |
|
@marmarek The flickering issue can be reproduced without this PR in both QTerminal and PCManFM-Qt. The reproduction steps are in the linked bug report, it sometimes takes more than one try before the steps succeed in reproducing the issue, but I'm able to reproduce it reliably. I was not able to reproduce it after applying these changes. |
When event buffering is enabled for a qube, previously Qt applications would exhibit some strange flickering / element resizing when opening application menus. This appears to be because ConfigureNotify events were being delayed, causing Qt to draw elements of the user interface with incorrect size and position information. It would then likely have to redraw the menu with the correct information once that information was available to it.
ConfigureNotify, MapNotify, and ReparentNotify events all look like they can be passed through without negative effects on anonymity, so make them exempt from event buffering. This appears to resolve the flickering issue.
Fixes: QubesOS/qubes-issues#10286