ecore-wl2: Ensure we remove the proper pointer frame callback
authorChris Michael <cp.michael@samsung.com>
Wed, 26 Oct 2016 14:54:58 +0000 (10:54 -0400)
committerChris Michael <cp.michael@samsung.com>
Wed, 26 Oct 2016 15:01:13 +0000 (11:01 -0400)
During the pointer frame callback, if we had a 'callback' but did not
have an input->cursor.frame_cb then we would have ended up deleting
the callback here anyway. Let's add a comparison of the callback to
the pointer frame callback to ensure we are removing the proper
callback.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
src/lib/ecore_wl2/ecore_wl2_input.c

index 909cc5f..8a0376b 100644 (file)
@@ -666,7 +666,8 @@ _pointer_cb_frame(void *data, struct wl_callback *callback, unsigned int timesta
 
    if (callback)
      {
-        if (callback != input->cursor.frame_cb) return;
+        if ((input->cursor.frame_cb) &&
+            (callback != input->cursor.frame_cb)) return;
         wl_callback_destroy(callback);
         input->cursor.frame_cb = NULL;
      }