Bug description:
Clicking on a wxDataViewChoiceRenderer to bring up the dropdown list makes the list appear at the top left of the parent dataview.
Expected vs observed behaviour:
The dropdown list should be appearing right on top of the wxDataViewChoiceRenderer control that was clicked instead of the top left corner of the parent dataview. A translucent 'ghost' of the choice control that was clicked also appears right on top of its current position. Technically, the control is still usable in this broken state, but it looks terrible and is pretty confusing.
Here's a video of the issue.
To Reproduce:
The issue is easy to reproduce with the default unmodified 'dataview' sample:
Following these steps will cause the bug to happen about 2/3 of the time according to my tests. Technically, the bug can happen when the dataview only has one row and no scrollbar is present, but from my tests it's really rare, maybe a 1/100 chance.
Very important considerations:
The system where this issue is happening is an Arch Linux running KDE Plasma and Wayland. But did perform some tests on a different system running Linux Mint with Cinnamon and X11, and the issue DID NOT manifest on that other system, not even once. Which might suggest the issue might be caused by either the desktop environment or display server of my Arch system. I'm not sure.
I also tested a few different wxWidgets versions on both systems. Bellow are more detailed info on that.
Platform and version information (system where the bug DOES happen)
Platform and version information (system where the bug DOES NOT happen)
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
Thanks, I can reproduce this with a pretty different setup (Debian with Sway), so it's probably not specific to some particular GTK version or WM. Maximizing the window is not necessary to me, as soon as the scrollbar becomes needed (even though it is not visible, as overlay scrollbars are used), the bug shows up.
I didn't have time to debug this yet, however, unfortunately.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
Another detail that I completely forgot about (and you might be aware already) is that you can force a specific backend with GDK_BACKEND=. So, launching my application or the dataview sample with GDK_BACKEND=x11 in a Wayland session where the bug usually happens, will make the bug go away completely.
Although that environment variable forces your program to use XWayland, which is a compatibility layer that I'm not sure how close it is to the actual X11 server, I found it to be a pretty decent workaround. Of course, things running natively would be better, but I'm not gonna be picky.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()