bdilly pushed a commit to branch master.

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

commit cb6b049987d0d34e9415cea37cb59e7b96951685
Author: Guilherme Iscaro <[email protected]>
Date:   Thu Oct 20 15:33:06 2016 -0200

    Efl Input Hold: Increment/Decrement the device reference.
---
 src/lib/evas/canvas/efl_input_hold.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/canvas/efl_input_hold.c 
b/src/lib/evas/canvas/efl_input_hold.c
index 4c509dc..774af38 100644
--- a/src/lib/evas/canvas/efl_input_hold.c
+++ b/src/lib/evas/canvas/efl_input_hold.c
@@ -26,7 +26,7 @@ _efl_input_hold_hold_get(Eo *obj EINA_UNUSED, 
Efl_Input_Hold_Data *pd)
 EOLIAN static void
 _efl_input_hold_efl_input_event_device_set(Eo *obj EINA_UNUSED, 
Efl_Input_Hold_Data *pd, Efl_Input_Device *dev)
 {
-   pd->device = dev;
+   pd->device = efl_ref(dev);
 }
 
 EOLIAN static Efl_Input_Device *
@@ -70,6 +70,7 @@ _efl_input_hold_efl_object_constructor(Eo *obj, 
Efl_Input_Hold_Data *pd EINA_UNU
 static inline void
 _efl_input_hold_free(Efl_Input_Hold_Data *pd)
 {
+   efl_unref(pd->device);
    free(pd->legacy);
 }
 
@@ -110,7 +111,7 @@ _efl_input_hold_efl_input_event_dup(Eo *obj, 
Efl_Input_Hold_Data *pd)
    ev->timestamp = pd->timestamp;
    ev->data = pd->data;
    ev->hold = pd->hold;
-   ev->device = pd->device; // lacks a proper ref :(
+   ev->device = efl_ref(pd->device);
 
    return evt;
 }

-- 


Reply via email to