diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 948a7bf..2ffa1c6 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -1805,8 +1805,12 @@ static void MwLLBeginStateChangeImpl(MwLL handle) { static void MwLLEndStateChangeImpl(MwLL handle) { MwLL topmost_parent; + int x, y; WIDGET_CHECK(handle); + x = handle->wayland.detatching ? handle->wayland.detach_point.x : handle->wayland.x; + y = handle->wayland.detatching ? handle->wayland.detach_point.y : handle->wayland.y; + topmost_parent = handle->wayland.parent; while(topmost_parent) { @@ -1842,7 +1846,7 @@ static void MwLLEndStateChangeImpl(MwLL handle) { MwLLWaylandFlush(handle); - widget_setup(handle, handle->wayland.parent, handle->wayland.detach_point.x, handle->wayland.detach_point.y, handle->wayland.ww, handle->wayland.wh, handle->wayland.type_to_be); + widget_setup(handle, handle->wayland.parent, x, y, handle->wayland.ww, handle->wayland.wh, handle->wayland.type_to_be); handle->wayland.is_toplevel = MwTRUE;