bdilly pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=826cd7cb5e6e6a0a53dbe1c687de072dd8fd2f6c

commit 826cd7cb5e6e6a0a53dbe1c687de072dd8fd2f6c
Author: Guilherme Iscaro <[email protected]>
Date:   Thu Dec 1 16:12:37 2016 -0200

    Efl.Input: Reset the Efl.Input object as soon as possible.
    
    By doing this the pd->device reference is unrefed and deleted
    if no one else is holding a reference to it.
---
 src/lib/evas/canvas/efl_input_focus.c   | 2 +-
 src/lib/evas/canvas/efl_input_key.c     | 2 +-
 src/lib/evas/canvas/efl_input_pointer.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/lib/evas/canvas/efl_input_focus.c 
b/src/lib/evas/canvas/efl_input_focus.c
index 0bf4912..da2aba6 100644
--- a/src/lib/evas/canvas/efl_input_focus.c
+++ b/src/lib/evas/canvas/efl_input_focus.c
@@ -25,6 +25,7 @@ _del_hook(Eo *evt)
           }
         efl_reuse(evt);
         s_cached_event = evt;
+        efl_input_reset(s_cached_event);
      }
    else
      {
@@ -136,7 +137,6 @@ _efl_input_focus_efl_input_event_instance_get(Eo *klass 
EINA_UNUSED, void *_pd E
      {
         evt = s_cached_event;
         s_cached_event = NULL;
-        efl_input_reset(evt);
         efl_parent_set(evt, owner);
      }
    else
diff --git a/src/lib/evas/canvas/efl_input_key.c 
b/src/lib/evas/canvas/efl_input_key.c
index 685b6b3..869b559 100644
--- a/src/lib/evas/canvas/efl_input_key.c
+++ b/src/lib/evas/canvas/efl_input_key.c
@@ -25,6 +25,7 @@ _del_hook(Eo *evt)
           }
         efl_reuse(evt);
         s_cached_event = evt;
+        efl_input_reset(s_cached_event);
      }
    else
      {
@@ -44,7 +45,6 @@ _efl_input_key_efl_input_event_instance_get(Eo *klass 
EINA_UNUSED, void *_pd EIN
      {
         evt = s_cached_event;
         s_cached_event = NULL;
-        efl_input_reset(evt);
         efl_parent_set(evt, owner);
      }
    else
diff --git a/src/lib/evas/canvas/efl_input_pointer.c 
b/src/lib/evas/canvas/efl_input_pointer.c
index 4ec9af0..109906e 100644
--- a/src/lib/evas/canvas/efl_input_pointer.c
+++ b/src/lib/evas/canvas/efl_input_pointer.c
@@ -36,6 +36,7 @@ _del_hook(Eo *evt)
           }
         efl_reuse(evt);
         s_cached_event = evt;
+        efl_input_reset(s_cached_event);
      }
    else
      {
@@ -55,7 +56,6 @@ _efl_input_pointer_efl_input_event_instance_get(Eo *klass 
EINA_UNUSED, void *_pd
      {
         evt = s_cached_event;
         s_cached_event = NULL;
-        efl_input_reset(evt);
         efl_parent_set(evt, owner);
      }
    else

-- 


Reply via email to