Skip to content

scene: Avoid creating SurfaceItem for Xwayland's cursor surfaces

Vlad Zahorodnii requested to merge work/zzag/xwayland-cursor-surface into master

SurfaceInterface::scaleOverride() doesn't scale the bufferScale, so if the scale override is 2, but the buffer scale specified by the client is 1, bufferScale() will return 1.

Xwayland cursor surface implicitly relied on this behavior.

Porting cursor to SurfaceItem changed that. Now cursor surfaces honor the scale override, which makes Xwayland cursors too small.

In order to properly fix, plasma has to scale Xcursor.size in xrdb. The problem is that plasma also sets XCURSOR_THEME and XCURSOR_SIZE envvars that take precedence. Plasma must stop setting those envvars, but it's doable only with Qt 6.5, which got MouseCursorTheme and MouseCursorSize hints in QPlatformTheme.

Edited by Vlad Zahorodnii

Merge request reports