pointer/keyboard: Surfaces should always have resources

There's no possible way that they shouldn't.
This commit is contained in:
Jasper St. Pierre 2014-04-16 14:49:30 -04:00
parent 339b856d84
commit bbec66c2d8
2 changed files with 8 additions and 14 deletions

View File

@ -438,14 +438,11 @@ meta_wayland_keyboard_set_focus (MetaWaylandKeyboard *keyboard,
if (keyboard->focus_surface != NULL) if (keyboard->focus_surface != NULL)
{ {
if (keyboard->focus_resource) if (keyboard->focus_resource)
{
if (keyboard->focus_surface->resource)
{ {
struct wl_client *client = wl_resource_get_client (keyboard->focus_resource); struct wl_client *client = wl_resource_get_client (keyboard->focus_resource);
struct wl_display *display = wl_client_get_display (client); struct wl_display *display = wl_client_get_display (client);
uint32_t serial = wl_display_next_serial (display); uint32_t serial = wl_display_next_serial (display);
wl_keyboard_send_leave (keyboard->focus_resource, serial, keyboard->focus_surface->resource); wl_keyboard_send_leave (keyboard->focus_resource, serial, keyboard->focus_surface->resource);
}
wl_list_remove (&keyboard->focus_resource_listener.link); wl_list_remove (&keyboard->focus_resource_listener.link);
keyboard->focus_resource = NULL; keyboard->focus_resource = NULL;

View File

@ -326,14 +326,11 @@ meta_wayland_pointer_set_focus (MetaWaylandPointer *pointer,
if (pointer->focus_surface) if (pointer->focus_surface)
{ {
if (pointer->focus_resource) if (pointer->focus_resource)
{
if (pointer->focus_surface->resource)
{ {
struct wl_client *client = wl_resource_get_client (pointer->focus_resource); struct wl_client *client = wl_resource_get_client (pointer->focus_resource);
struct wl_display *display = wl_client_get_display (client); struct wl_display *display = wl_client_get_display (client);
uint32_t serial = wl_display_next_serial (display); uint32_t serial = wl_display_next_serial (display);
wl_pointer_send_leave (pointer->focus_resource, serial, pointer->focus_surface->resource); wl_pointer_send_leave (pointer->focus_resource, serial, pointer->focus_surface->resource);
}
wl_list_remove (&pointer->focus_resource_listener.link); wl_list_remove (&pointer->focus_resource_listener.link);
pointer->focus_resource = NULL; pointer->focus_resource = NULL;