diff --git a/src/modules/wl_desktop_shell/wl_shell.c b/src/modules/wl_desktop_shell/wl_shell.c index 37731bad0..ba41905a1 100644 --- a/src/modules/wl_desktop_shell/wl_shell.c +++ b/src/modules/wl_desktop_shell/wl_shell.c @@ -370,7 +370,10 @@ _wl_shell_surface_configure(struct wl_resource *resource, Evas_Coord x, Evas_Coo } } - e_client_util_move_resize_without_frame(ec, x, y, w, h); + if (ec->placed || ec->parent) + e_client_util_move_resize_without_frame(ec, x, y, w, h); + else + e_client_util_resize_without_frame(ec, w, h); } static void diff --git a/src/modules/wl_desktop_shell/xdg5.c b/src/modules/wl_desktop_shell/xdg5.c index dceb0ec9c..647fa475a 100644 --- a/src/modules/wl_desktop_shell/xdg5.c +++ b/src/modules/wl_desktop_shell/xdg5.c @@ -552,7 +552,10 @@ _e_xdg_shell_surface_configure(struct wl_resource *resource, Evas_Coord x, Evas_ } } - e_client_util_move_resize_without_frame(ec, x, y, w, h); + if (ec->placed || ec->parent) + e_client_util_move_resize_without_frame(ec, x, y, w, h); + else + e_client_util_resize_without_frame(ec, w, h); } static void diff --git a/src/modules/wl_desktop_shell/xdg6.c b/src/modules/wl_desktop_shell/xdg6.c index 351d4872b..2a4819d89 100644 --- a/src/modules/wl_desktop_shell/xdg6.c +++ b/src/modules/wl_desktop_shell/xdg6.c @@ -186,8 +186,11 @@ _e_xdg_shell_surface_configure(struct wl_resource *resource, Evas_Coord x, Evas_ "No Client For Shell Surface"); return; } - if (!e_object_is_del(E_OBJECT(ec))) + if (e_object_is_del(E_OBJECT(ec))) return; + if (ec->placed) e_client_util_move_resize_without_frame(ec, x, y, w, h); + else + e_client_util_resize_without_frame(ec, w, h); } static void