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.
