Emulator Issues #12092
Interactions with the root window are blocked when Dolphin is running
What's the problem? Describe what went wrong.
When Dolphin is running in Linux under X, interactions with the root window are blocked from the window manager. In practice this means clicking the background in window managers such as twm, ctwm, fvwm, fluxbox, and openbox doesn't open a menu as it normally would. Key press events for the root window are also blocked (for example, a ctwm key binding which opens a menu when the root window is focused and enter is pressed).
What steps will reproduce the problem?
- Start twm.
- Left click the background and start a terminal (notice that a menu pops up when you left click the background).
- Run "dolphin-emu" from the terminal.
- Left click the background again and notice that no menu pops up.
- Type ^Z in the terminal to stop the dolphin-emu process.
- Left click the background again and notice that still no menu pops up.
- Kill the dolphin-emu process.
- Left click the background and see that a menu now pops up.
The same can be done with any of the other aforementioned window managers. Depending on the configuration you may right click instead of left click to bring up a menu.
Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.
Is the issue present in the latest stable version?
Yes, version 5.0.
What are your PC specifications? (CPU, GPU, Operating System, more)
CPU: Xeon E3-1225
GPU: AMD RX 560
OS: Tested on Void Linux and Debian Buster.
Is there anything else that can help developers narrow down the issue? (e.g. logs, screenshots,
configuration files, savefiles, savestates)
If you use xwininfo and click the background, I got the same output regardless of whether Dolphin was running. So it seems that the root window is truly being clicked, but the events are not making it to the window manager.
A GGG in #xorg on Freenode suggested the problem might have to do with this event intercepting: