discomfitor pushed a commit to branch enlightenment-0.21.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=4354a9430556281f8a7a6074ea5bd845c541afa6

commit 4354a9430556281f8a7a6074ea5bd845c541afa6
Author: Mike Blumenkrantz <[email protected]>
Date:   Fri Mar 17 13:17:02 2017 -0400

    compare against e_client_action_get() for rejecting wl mouse events
    
    signal actions do not set the cur_mouse_action pointer, but the return
    of this function will still match the client for a more accurate heuristic
---
 src/bin/e_comp_wl.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 13cbfd6..a2f2deb 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -256,7 +256,7 @@ _e_comp_wl_mouse_out(E_Client *ec)
    Eina_List *l;
    uint32_t serial;
 
-   if (ec->cur_mouse_action && e_grabinput_mouse_win_get()) return;
+   if ((ec == e_client_action_get()) && e_grabinput_mouse_win_get()) return;
    /* FIXME? this is a hack to just reset the cursor whenever we mouse out. 
not sure if accurate */
    {
       e_pointer_object_set(e_comp->pointer, NULL, 0, 0);
@@ -368,7 +368,7 @@ _e_comp_wl_evas_cb_mouse_move(void *data, Evas *evas 
EINA_UNUSED, Evas_Object *o
    E_Client *ec = data;
    Evas_Event_Mouse_Move *ev = event;
 
-   if (ec->cur_mouse_action) return;
+   if (ec == e_client_action_get()) return;
    if (!ec->mouse.in) return;
    if (e_object_is_del(E_OBJECT(ec))) return;
    if (ec->ignored) return;
@@ -412,7 +412,7 @@ _e_comp_wl_evas_cb_mouse_wheel(void *data, Evas *evas 
EINA_UNUSED, Evas_Object *
 
    ev = event;
    if (!(ec = data)) return;
-   if (ec->cur_mouse_action) return;
+   if (ec == e_client_action_get()) return;
    if (e_object_is_del(E_OBJECT(ec))) return;
    if (ec->ignored) return;
    if (!ec->mouse.in) return;

-- 


Reply via email to