summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2019-02-11 19:21:02 +0100
committerMarcel Hollerbach <mail@marcel-hollerbach.de>2019-02-12 11:20:21 +0100
commit87373bf66ccb281b4e183bcb5aabc3e2f3d957bb (patch)
tree9aa29968b94c61ff4db08e47c3e8382ea21a8bdf
parent0221ff480df4824fa3b2c59ecad047d6fa9c2ee8 (diff)
downloadefl-87373bf66ccb281b4e183bcb5aabc3e2f3d957bb.tar.gz
eo: efl_isa with a EFL_OVERRIDE_CLASS should return true
this is important, as basically every single class etc. can be a EFL_OVERRIDE_CLASS. This makes efl_override work with eo_debug. Differential Revision: https://phab.enlightenment.org/D7910
-rw-r--r--src/lib/eo/eo.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c
index beed05914d..95823f7a08 100644
--- a/src/lib/eo/eo.c
+++ b/src/lib/eo/eo.c
@@ -1766,6 +1766,10 @@ efl_isa(const Eo *eo_id, const Efl_Class *klass_id)
if (EINA_UNLIKELY(!eo_id)) return EINA_FALSE;
+ // Everything can add a override to an existing class, which pretty much means, everything is a efl override
+ // This is required in order to support our debug-profile for the users of efl_override
+ if (EINA_UNLIKELY(klass_id == EFL_OBJECT_OVERRIDE_CLASS)) return EINA_TRUE;
+
// Case where we are looking if eo_id is a class that contain klass_id
if (EINA_UNLIKELY(_eo_is_a_class(eo_id)))
{