https://bugs.kde.org/show_bug.cgi?id=448537
Vlad Zahorodnii <vlad.zahorod...@kde.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Latest Commit| |https://invent.kde.org/plas | |ma/kwin/commit/0ad239a92de6 | |ae859e892db6debafac2e3daefb | |5 Resolution|--- |FIXED Status|ASSIGNED |RESOLVED --- Comment #17 from Vlad Zahorodnii <vlad.zahorod...@kde.org> --- Git commit 0ad239a92de6ae859e892db6debafac2e3daefb5 by Vlad Zahorodnii. Committed on 10/02/2022 at 07:07. Pushed by vladz into branch 'master'. Fix mouse pointer disappearing after using zoom effect on X11 Currently, the Cursors::currentCursorChanged signal is wired to the updateCursor() function which calls xcb_xfixes_hide_cursor() or xcb_xfixes_show_cursor() depending if the cursor is hidden. However, the currentCursorChanged signal can be emitted if the cursor changed, e.g. a new pixmap attached, or its visibility status changes. The zoom effect hides the pointer, but when user hovers ui elements, it will most likely change and result in more than one xcb_xfixes_hide_cursor() calls. It appears like xcb_xfixes_hide_cursor() is implemented as a reference counter, i.e. if xcb_xfixes_hide_cursor() is called two times, then you must call xcb_xfixes_show_cursor() two times as well. This change adds a dedicated signal to indicate whether the cursor is hidden to avoid calling xcb_xfixes_hide_cursor() multiple times while the screen is scaled. M +1 -0 src/backends/drm/drm_output.cpp M +1 -2 src/backends/x11/standalone/x11_platform.cpp M +2 -2 src/cursor.cpp M +1 -0 src/cursor.h https://invent.kde.org/plasma/kwin/commit/0ad239a92de6ae859e892db6debafac2e3daefb5 -- You are receiving this mail because: You are watching all bug changes.