summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCedric BAIL <cedric.bail@free.fr>2019-02-06 13:08:19 -0500
committerMike Blumenkrantz <zmike@samsung.com>2019-02-06 13:08:19 -0500
commit917e0aa0feb9a79721953ea632723d26a251a850 (patch)
tree077bd2a34c994ec0e96fa9ff59c17bfb17fb5598
parentc62bac00cb7fe8634aee4da33729af8ef372e092 (diff)
downloadefl-917e0aa0feb9a79721953ea632723d26a251a850.tar.gz
edje: make legacy edje call rely directly on edje internal.
Reviewers: zmike, q66, segfaultxavi, bu5hm4n Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T7671 Differential Revision: https://phab.enlightenment.org/D7869
-rw-r--r--src/lib/edje/edje_legacy.c6
-rw-r--r--src/lib/edje/edje_private.h1
-rw-r--r--src/lib/edje/edje_program.c2
3 files changed, 7 insertions, 2 deletions
diff --git a/src/lib/edje/edje_legacy.c b/src/lib/edje/edje_legacy.c
index 34299e1e18..e96e470724 100644
--- a/src/lib/edje/edje_legacy.c
+++ b/src/lib/edje/edje_legacy.c
@@ -77,7 +77,11 @@ edje_object_message_signal_recursive_process(Edje_Object *obj)
EAPI void
edje_object_signal_callback_add(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func, void *data)
{
- efl_layout_signal_callback_add(obj, emission, source, (Efl_Signal_Cb) func, data);
+ Edje *ed;
+
+ ed = _edje_fetch(obj);
+ if (!ed || ed->delete_me) return;
+ _edje_object_signal_callback_add(ed, emission, source, func, data);
}
EAPI void *
diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h
index 7c61d59bc1..a8349ae372 100644
--- a/src/lib/edje/edje_private.h
+++ b/src/lib/edje/edje_private.h
@@ -2425,6 +2425,7 @@ const Eina_Inarray *edje_match_signal_source_hash_get(const char *signal,
const Eina_Rbtree *tree);
void edje_match_signal_source_free(Edje_Signal_Source_Char *key, void *data);
void _edje_signal_callback_matches_unref(Edje_Signal_Callback_Matches *m);
+Eina_Bool _edje_object_signal_callback_add(Edje *ed, const char *emission, const char *source, Efl_Signal_Cb func, void *data);
// FIXME remove below 3 eapi decls when edje_convert goes
EAPI void _edje_edd_init(void);
diff --git a/src/lib/edje/edje_program.c b/src/lib/edje/edje_program.c
index 38a798f2ad..e6a1373adf 100644
--- a/src/lib/edje/edje_program.c
+++ b/src/lib/edje/edje_program.c
@@ -236,7 +236,7 @@ edje_transition_duration_factor_set(double scale)
_edje_transition_duration_scale = FROM_DOUBLE(scale);
}
-static inline Eina_Bool
+Eina_Bool
_edje_object_signal_callback_add(Edje *ed, const char *emission, const char *source, Efl_Signal_Cb func, void *data)
{
Edje_Signal_Callback_Group *gp;