desktop-shell: Reject window move in common_surface_move()
authorKristian Høgsberg <krh@bitplanet.net>
Tue, 29 Apr 2014 21:47:46 +0000 (14:47 -0700)
committerKristian Høgsberg <krh@bitplanet.net>
Tue, 29 Apr 2014 21:47:46 +0000 (14:47 -0700)
We move the check for shsurf->grabbed from surface_move() and
surface_touch_move() up top common_surface_move()

desktop-shell/shell.c

index 82d8166..9340b4a 100644 (file)
@@ -1436,8 +1436,6 @@ surface_touch_move(struct shell_surface *shsurf, struct weston_seat *seat)
 
        if (shsurf->state.fullscreen)
                return 0;
-       if (shsurf->grabbed)
-               return 0;
 
        move = malloc(sizeof *move);
        if (!move)
@@ -1522,8 +1520,6 @@ surface_move(struct shell_surface *shsurf, struct weston_seat *seat)
        if (!shsurf)
                return -1;
 
-       if (shsurf->grabbed)
-               return 0;
        if (shsurf->state.fullscreen || shsurf->state.maximized)
                return 0;
 
@@ -1550,6 +1546,9 @@ common_surface_move(struct wl_resource *resource,
        struct shell_surface *shsurf = wl_resource_get_user_data(resource);
        struct weston_surface *surface;
 
+       if (shsurf->grabbed)
+               return;
+
        if (seat->pointer &&
            seat->pointer->focus &&
            seat->pointer->button_count > 0 &&