xwayland _NET_WM_STATE_ABOVE property / gitk crash relative & abs positioning
This seems to be introduced with fe4d5711, when clicking on gitk Line diff (the window needs to be maximized) we get the following crash:
#5 0x00007f80fc9bfdf2 in __GI___assert_fail
(assertion=0x7f80fc969c75 "!view->geometry.parent", file=0x7f80fc9699a5 "../libweston/compositor.c", line=1640, function=0x7f80fc96bbc0 <__PRETTY_FUNCTION__.62> "weston_view_set_position") at ./assert/assert.c:101
#6 0x00007f80fc92b625 in weston_view_set_position (view=0x55cce976bbc0, pos=...) at ../libweston/compositor.c:1640
#7 0x00007f80fc95b338 in weston_desktop_surface_update_view_position (surface=0x55cce976c6f0) at ../libweston/desktop/surface.c:112
#8 0x00007f80fc95b73e in weston_desktop_surface_surface_committed (listener=0x55cce976c748, data=0x55cce9776330) at ../libweston/desktop/surface.c:199
#9 0x00007f80fc926fc6 in wl_signal_emit (signal=0x55cce9776350, data=0x55cce9776330) at /home/mvlad/install-amd64/include/wayland-server-core.h:496
#10 0x00007f80fc9312e8 in weston_surface_commit_state (surface=0x55cce9776330, state=0x55cce9776458) at ../libweston/compositor.c:4217
#11 0x00007f80fc931320 in weston_surface_commit (surface=0x55cce9776330) at ../libweston/compositor.c:4226
#12 0x00007f80fc93167f in surface_commit (client=0x55cce9701470, resource=0x55cce976b5b0) at ../libweston/compositor.c:4309
#13 0x00007f80fc66df7a in () at /lib/x86_64-linux-gnu/libffi.so.8
#14 0x00007f80fc66d40e in () at /lib/x86_64-linux-gnu/libffi.so.8
#15 0x00007f80fc66db0d in ffi_call () at /lib/x86_64-linux-gnu/libffi.so.8
#16 0x00007f80fc8f0496 in wl_closure_invoke (closure=closure@entry=0x55cce8e0df60, flags=flags@entry=2, target=<optimized out>,
With the xwm debug scope enabled:
[2023-07-04 12:13:21.641][xwm-wm-x11] XCB_CLIENT_MESSAGE (_NET_WM_STATE 1 303 0 0 0 win 4195344)
[2023-07-04 12:13:21.642][xwm-wm-x11] XCB_PROPERTY_NOTIFY: window 4195344, WM_HINTS: WM_HINTS/32, length 36 (value_len 9): huh?
[2023-07-04 12:13:21.643][xwm-wm-x11] XCB_PROPERTY_NOTIFY: window 4195344, WM_NORMAL_HINTS: WM_SIZE_HINTS/32, length 72 (value_len 18): huh?
[2023-07-04 12:13:21.645][xwm-wm-x11] XCB_CONFIGURE_NOTIFY (window 4195344) 611,367 @ 101x52, override
[2023-07-04 12:13:21.645][xwm-wm-x11] XCB_PROPERTY_NOTIFY: window 4195344, _NET_WM_STATE: ATOM/32, length 4 (value_len 1): _NET_WM_STATE_ABOVE
[2023-07-04 12:13:21.645][xwm-wm-x11] XCB_MAP_NOTIFY (window 4195344, override)
[2023-07-04 12:13:21.646][xwm-wm-x11] XCB_CLIENT_MESSAGE (WL_SURFACE_ID 65 0 0 0 0 win 4195344)
[2023-07-04 12:13:21.671][xwm-wm-x11] XWM: create weston_surface 0x55cce9776330
[2023-07-04 12:13:21.671][xwm-wm-x11] XWM: map shell surface, win 4195344, weston_surface 0x55cce9776330, xwayland surface 0x55cce975ffd0
We seem to be having a parent in this case even though the code assumes none.