Check for valid pointer focus resource.
authorChris Michael <cp.michael@samsung.com>
Tue, 2 Jul 2013 12:55:26 +0000 (13:55 +0100)
committerChris Michael <cp.michael@samsung.com>
Tue, 2 Jul 2013 12:57:07 +0000 (13:57 +0100)
Use wl_resource_get_user_data to get the focused surface.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
src/bin/e_comp_wl.c

index 7dbf2b1..2c8fef2 100644 (file)
@@ -2172,7 +2172,10 @@ _e_comp_wl_pointer_configure(E_Wayland_Surface *ews, Evas_Coord x, Evas_Coord y,
    pixman_region32_init(&ews->pending.input);
 
    /* do we have a focused surface ? */
-   if ((focus = (E_Wayland_Surface *)input->wl.seat.pointer->focus))
+   if (!input->wl.seat.pointer->focus) return;
+
+   if ((focus = wl_resource_get_user_data(input->wl.seat.pointer->focus)))
+//   if ((focus = (E_Wayland_Surface *)input->wl.seat.pointer->focus))
      {
         /* NB: Ideally, I wanted to use the e_pointer methods here so that 
          * the cursor would match the E theme, however Wayland currently