{
struct pointer *pointer = data;
- pointer->focus = wl_surface_get_user_data(wl_surface);
+ if (wl_surface)
+ pointer->focus = wl_surface_get_user_data(wl_surface);
+ else
+ pointer->focus = NULL;
+
pointer->x = wl_fixed_to_int(x);
pointer->y = wl_fixed_to_int(y);
pointer->focus = NULL;
fprintf(stderr, "test-client: got pointer leave, surface %p\n",
- wl_surface_get_user_data(wl_surface));
+ wl_surface ? wl_surface_get_user_data(wl_surface) : NULL);
}
static void
{
struct keyboard *keyboard = data;
- keyboard->focus = wl_surface_get_user_data(wl_surface);
+ if (wl_surface)
+ keyboard->focus = wl_surface_get_user_data(wl_surface);
+ else
+ keyboard->focus = NULL;
fprintf(stderr, "test-client: got keyboard enter, surface %p\n",
keyboard->focus);
keyboard->focus = NULL;
fprintf(stderr, "test-client: got keyboard leave, surface %p\n",
- wl_surface_get_user_data(wl_surface));
+ wl_surface ? wl_surface_get_user_data(wl_surface) : NULL);
}
static void