diff options
author | Derek Foreman <derekf@osg.samsung.com> | 2018-05-08 12:25:56 -0500 |
---|---|---|
committer | Derek Foreman <derekf@osg.samsung.com> | 2018-05-08 12:25:56 -0500 |
commit | da8127e1f81a5d7b3357e8dbd2670e5e67890c9e (patch) | |
tree | f11fb577fe8b91aaff18cc7296817fb7afc2a339 /src/lib/edje/edje_program.c | |
parent | d21ff733df47c0ef5792723a97a99206241f0a0b (diff) | |
download | efl-da8127e1f81a5d7b3357e8dbd2670e5e67890c9e.tar.gz |
edje: Create signal extra data before calling _edje_emit_send
Summary:
Steps towards recursively sending these.
Depends on D6111
Reviewers: zmike, cedric
Reviewed By: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6112
Diffstat (limited to 'src/lib/edje/edje_program.c')
-rw-r--r-- | src/lib/edje/edje_program.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/lib/edje/edje_program.c b/src/lib/edje/edje_program.c index e1378be0e3..6d21e6f146 100644 --- a/src/lib/edje/edje_program.c +++ b/src/lib/edje/edje_program.c @@ -165,13 +165,13 @@ _edje_signal_data_ref(Edje_Message_Signal_Data *mdata) } static void -_edje_emit_send(Edje *ed, Eina_Bool broadcast, const char *sig, const char *src, void *data, Ecore_Cb free_func) +_edje_emit_send(Edje *ed, Eina_Bool broadcast, const char *sig, const char *src, Edje_Message_Signal_Data *mdata) { Edje_Message_Signal emsg; emsg.sig = sig; emsg.src = src; - emsg.data = _edje_signal_data_setup(data, free_func); + emsg.data = mdata; /* new sends code */ if (broadcast) edje_object_message_send(ed->obj, EDJE_MESSAGE_SIGNAL, 0, &emsg); @@ -860,7 +860,7 @@ low_mem_current: Eina_Bool broadcast; broadcast = _edje_emit_child(ed, rp, rp->part->name, pr->state, pr->state2); - _edje_emit_send(ed, broadcast, pr->state, pr->state2, NULL, NULL); + _edje_emit_send(ed, broadcast, pr->state, pr->state2, NULL); } } } @@ -1264,6 +1264,7 @@ _edje_seat_emit(Edje *ed, Efl_Input_Device *dev, const char *sig, const char *sr void _edje_emit_full(Edje *ed, const char *sig, const char *src, void *data, void (*free_func)(void *)) { + Edje_Message_Signal_Data *mdata; const char *sep; Eina_Bool broadcast; @@ -1295,7 +1296,8 @@ _edje_emit_full(Edje *ed, const char *sig, const char *src, void *data, void (*f else broadcast = ed->collection->broadcast_signal; - _edje_emit_send(ed, broadcast, sig, src, data, free_func); + mdata = _edje_signal_data_setup(data, free_func); + _edje_emit_send(ed, broadcast, sig, src, mdata); } void |