window: Fix logic for looking up widget default cursor

We may deref a NULL pointer if there is no grab and no focus widget.
dev
Kristian Høgsberg 11 years ago
parent 08b58c7c12
commit 1a5f0c34ff
  1. 15
      clients/window.c

@ -2911,12 +2911,15 @@ pointer_handle_motion(void *data, struct wl_pointer *pointer,
widget = input->grab;
else
widget = input->focus_widget;
if (widget && widget->motion_handler)
cursor = widget->motion_handler(input->focus_widget,
input, time, sx, sy,
widget->user_data);
else
cursor = input->focus_widget->default_cursor;
if (widget) {
if (widget->motion_handler)
cursor = widget->motion_handler(input->focus_widget,
input, time, sx, sy,
widget->user_data);
else
cursor = widget->default_cursor;
} else
cursor = CURSOR_LEFT_PTR;
input_set_pointer_image(input, cursor);
}

Loading…
Cancel
Save