Signed-off-by: Ondřej Majerech <[email protected]>
---
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
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel