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 |https://invent.kde.org/plas
                   |ma/kwin/commit/0ad239a92de6 |ma/kwin/commit/43caf2539357
                   |ae859e892db6debafac2e3daefb |a1f9d5b2668a8eff151517377a7
                   |5                           |e

--- Comment #18 from Vlad Zahorodnii <vlad.zahorod...@kde.org> ---
Git commit 43caf2539357a1f9d5b2668a8eff151517377a7e by Vlad Zahorodnii.
Committed on 10/02/2022 at 07:22.
Pushed by vladz into branch 'Plasma/5.24'.

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.


(cherry picked from commit 0ad239a92de6ae859e892db6debafac2e3daefb5)

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/43caf2539357a1f9d5b2668a8eff151517377a7e

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to