Signed-off-by: Ondřej Majerech <majerec...@gmail.com> --- desktop-shell/shell.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c index e3abaad..02e180d 100644 --- a/desktop-shell/shell.c +++ b/desktop-shell/shell.c @@ -1884,13 +1884,20 @@ surface_resize(struct shell_surface *shsurf, struct weston_seat *seat, uint32_t edges) { struct weston_resize_grab *resize; + const unsigned resize_topbottom = + WL_SHELL_SURFACE_RESIZE_TOP | WL_SHELL_SURFACE_RESIZE_BOTTOM; + const unsigned resize_leftright = + WL_SHELL_SURFACE_RESIZE_LEFT | WL_SHELL_SURFACE_RESIZE_RIGHT; + const unsigned resize_any = resize_topbottom | resize_leftright; if (shsurf->grabbed || shsurf->state.fullscreen || shsurf->state.maximized) return 0; - if (edges == 0 || edges > 15 || - (edges & 3) == 3 || (edges & 12) == 12) + /* Check for invalid edge combinations. */ + if (edges == WL_SHELL_SURFACE_RESIZE_NONE || edges > resize_any || + (edges & resize_topbottom) == resize_topbottom || + (edges & resize_leftright) == resize_leftright) return 0; resize = malloc(sizeof *resize); -- 2.0.4 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel