edje: make legacy edje call rely directly on edje internal.
authorCedric BAIL <cedric.bail@free.fr>
Wed, 6 Feb 2019 18:08:19 +0000 (13:08 -0500)
committerJongmin Lee <jm105.lee@samsung.com>
Wed, 6 Feb 2019 22:20:24 +0000 (07:20 +0900)
Reviewers: zmike, q66, segfaultxavi, bu5hm4n

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7671

Differential Revision: https://phab.enlightenment.org/D7869

src/lib/edje/edje_legacy.c
src/lib/edje/edje_private.h
src/lib/edje/edje_program.c

index 34299e1..e96e470 100644 (file)
@@ -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 *
index 11eac96..e7046b3 100644 (file)
@@ -2583,6 +2583,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);
index b642a52..46d197b 100644 (file)
@@ -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;