zmike pushed a commit to branch master.

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

commit 917e0aa0feb9a79721953ea632723d26a251a850
Author: Cedric BAIL <cedric.b...@free.fr>
Date:   Wed Feb 6 13:08:19 2019 -0500

    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
---
 src/lib/edje/edje_legacy.c  | 6 +++++-
 src/lib/edje/edje_private.h | 1 +
 src/lib/edje/edje_program.c | 2 +-
 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;

-- 


Reply via email to