summaryrefslogtreecommitdiff
path: root/src/lib/eo/eo.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/eo/eo.c')
-rw-r--r--src/lib/eo/eo.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c
index de79d77af2..b96800ec1b 100644
--- a/src/lib/eo/eo.c
+++ b/src/lib/eo/eo.c
@@ -1132,6 +1132,20 @@ eo_add_internal(const char *file, int line, const Eo_Class *klass_id, Eo *parent
goto fail;
}
+ if (obj->composites)
+ {
+ const _Eo_Object **comp_itr = obj->composites;
+ for (unsigned int i = 0; i < klass->composites_count; i++, comp_itr++)
+ {
+ if (!*comp_itr)
+ {
+ ERR("in %s:%d: Object of class '%s' - One or more composites objects have not been attached.",
+ file, line, klass->desc->name);
+ goto fail;
+ }
+ }
+ }
+
_eo_unref(obj);
return _eo_id_get(obj);