https://bugs.kde.org/show_bug.cgi?id=496276

Mike Khoteev <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #4 from Mike Khoteev <[email protected]> ---
Still reproducible on ALT Linux Sisyphus / p11 KWorkstation with
spectacle-6.7.4-alt1, Plasma Wayland, two monitors. Downstream report:
https://bugzilla.altlinux.org/58675

Code pointer, in case it helps: VideoPlatformWayland::selectAndRecord()
resolves
the target output from QCursor::pos() and only falls back to the centre of the
window geometry returned by KWin's queryWindowInfo when that position is null:

    QPoint pos = QCursor::pos();
    // BUG: https://bugs.kde.org/show_bug.cgi?id=480599
    // On wayland, you can't always get the cursor position from
QCursor::pos().
    if (pos.isNull()) { pos = { data[xKey].toInt() + data[widthKey].toInt() /
2, ... }; }

QPoint::isNull() is only true for exactly (0, 0). If QCursor::pos() returns a
non-null but incorrect value that happens to lie inside the primary output, the
fallback never runs and the primary screen is selected every time, which
matches
the symptom described here. This would also explain why the result is
independent of the Spectacle window position and of what was clicked.

Resolving the output from the queryWindowInfo geometry unconditionally, or
having KWin report which output the click landed on, would remove the
dependency
on QCursor::pos() entirely.

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

Reply via email to