shell: Make it possible to move and raise unresponsive surfaces

This commit is contained in:
Kristian Høgsberg 2012-08-01 00:20:21 -04:00
parent 9e31bff831
commit bbe983923d
1 changed files with 13 additions and 1 deletions

View File

@ -993,9 +993,21 @@ busy_cursor_grab_motion(struct wl_pointer_grab *grab,
}
static void
busy_cursor_grab_button(struct wl_pointer_grab *grab,
busy_cursor_grab_button(struct wl_pointer_grab *base,
uint32_t time, uint32_t button, uint32_t state)
{
struct shell_grab *grab = (struct shell_grab *) base;
struct shell_surface *shsurf;
struct weston_surface *surface =
(struct weston_surface *) grab->grab.pointer->current;
struct weston_seat *seat =
(struct weston_seat *) grab->grab.pointer->seat;
shsurf = get_shell_surface(surface);
if (shsurf && button == BTN_LEFT && state) {
activate(shsurf->shell, shsurf->surface, seat);
surface_move(shsurf, seat);
}
}
static const struct wl_pointer_grab_interface busy_cursor_grab_interface = {