summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuilherme Iscaro <iscaro@profusion.mobi>2016-10-14 11:32:11 -0300
committerBruno Dilly <bdilly@profusion.mobi>2016-11-08 17:54:34 -0200
commit6d668f011cdc4be6ca318793a3c93ca3f4a492e5 (patch)
tree7af1d7a24da12df2055f3a2089bcb12779e554d6
parent059bb53becd1fdeac944c448d859ae26f6724a01 (diff)
downloadefl-6d668f011cdc4be6ca318793a3c93ca3f4a492e5.tar.gz
Efl Input Key: Increment/Decrement the device reference.
-rw-r--r--src/lib/evas/canvas/efl_input_key.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/evas/canvas/efl_input_key.c b/src/lib/evas/canvas/efl_input_key.c
index c69491c165..387723b9c6 100644
--- a/src/lib/evas/canvas/efl_input_key.c
+++ b/src/lib/evas/canvas/efl_input_key.c
@@ -81,6 +81,7 @@ static inline void
_efl_input_key_free(Efl_Input_Key_Data *pd)
{
free(pd->legacy);
+ efl_unref(pd->device);
if (pd->no_stringshare) return;
eina_stringshare_del(pd->key);
eina_stringshare_del(pd->keyname);
@@ -197,6 +198,7 @@ _efl_input_key_efl_input_event_dup(Eo *obj EINA_UNUSED, Efl_Input_Key_Data *pd)
ev->win_fed = 0;
ev->fake = 1;
ev->legacy = NULL;
+ ev->device = efl_ref(pd->device);
return evt;
}
@@ -228,7 +230,7 @@ _efl_input_key_efl_input_event_event_flags_get(Eo *obj EINA_UNUSED, Efl_Input_Ke
EOLIAN static void
_efl_input_key_efl_input_event_device_set(Eo *obj EINA_UNUSED, Efl_Input_Key_Data *pd, Efl_Input_Device *dev)
{
- pd->device = dev;
+ pd->device = efl_ref(dev);
}
EOLIAN static Efl_Input_Device *