Bug 435717 - Can't manually resize X11 Qt5 window with WA_PaintOnScreen attribute set
Summary: Can't manually resize X11 Qt5 window with WA_PaintOnScreen attribute set
Status: RESOLVED NOT A BUG
Alias: None
Product: kwin
Classification: Plasma
Component: platform-x11-standalone (show other bugs)
Version: 5.21.4
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-04-14 10:20 UTC by nullgemm
Modified: 2021-04-14 11:10 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description nullgemm 2021-04-14 10:20:42 UTC
SUMMARY
When using the WA_PaintOnScreen attribute on a QMainWindow with Qt5, it is impossible to interactively resize the window under X11+Kwin. This does not happen with other window managers I tested (mutter, i3's, xfce's).

STEPS TO REPRODUCE
1. Create a QMainWindow with the WA_PaintOnScreen attribute set
2. Try to manually resize the window under X11+Kwin

A test repo is available here:
https://github.com/nullgemm/QmlX11Composition.git

Here is the line setting the attribute:
https://github.com/nullgemm/QmlX11Composition/blob/master/RenderWindow.cpp#L64

OBSERVED RESULT
The window does not resize.

EXPECTED RESULT
The window resizes.

SOFTWARE/OS VERSIONS
Linux Kernel Version: 5.11.12
Plasma Version: 5.21.4
Plasma Framework Version: 5.80.0
Qt Version: 5.15.2

ADDITIONAL INFORMATION
The versions information above is that of my main setup but this issue could be reproduced on 2 other ones.
Snapping the window on the side of the screen does resize it as expected.
Comment 1 David Edmundson 2021-04-14 10:38:46 UTC
Please include output of "xprop" on your window.
Comment 2 David Edmundson 2021-04-14 10:50:28 UTC
QT_ONSCREEN_PAINT=1 reproduces it. 

Debugged to confirm _NET_SYNC_REQUEST are not sent properly.

I'm surprised this doesn't affect Mutter, but this doesn't look like a kwin bug until proved otherwise.
Comment 3 nullgemm 2021-04-14 11:10:55 UTC
(In reply to David Edmundson from comment #1)
> Please include output of "xprop" on your window.

_NET_WM_ICON_GEOMETRY(CARDINAL) = 191, 1060, 28, 20
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_CLOSE
_KDE_NET_WM_FRAME_STRUT(CARDINAL) = 0, 0, 29, 0
_NET_FRAME_EXTENTS(CARDINAL) = 0, 0, 29, 0
_NET_WM_DESKTOP(CARDINAL) = 0
_KDE_NET_WM_ACTIVITIES(STRING) = "52da254f-5261-4dcb-9594-ff67b64dbea5"
WM_STATE(WM_STATE):
		window state: Normal
		icon window: 0x0
_NET_WM_STATE(ATOM) =
_NET_WM_ICON_NAME(UTF8_STRING) =
XdndAware(ATOM) = BITMAP
WM_NAME(STRING) =
_NET_WM_NAME(UTF8_STRING) = "myprog"
_KDE_NET_WM_USER_CREATION_TIME(CARDINAL) = 5213713
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x3, 0x3e, 0x7e, 0x0, 0x0
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_XEMBED_INFO(_XEMBED_INFO) = 0x0, 0x1
WM_CLIENT_LEADER(WINDOW): window id # 0x3400008
WM_HINTS(WM_HINTS):
		Client accepts input or input focus: True
		window id # of group leader: 0x3400008
WM_CLIENT_MACHINE(STRING) = "au486"
_NET_WM_PID(CARDINAL) = 2753172
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 54525959
WM_CLASS(STRING) = "myprog", "myprog"
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_NORMAL_HINTS(WM_SIZE_HINTS):
		user specified size: 200 by 100
		window gravity: Static