summaryrefslogtreecommitdiff
path: root/legacy/eobj
diff options
context:
space:
mode:
Diffstat (limited to 'legacy/eobj')
-rw-r--r--legacy/eobj/src/lib/Eo.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/legacy/eobj/src/lib/Eo.h b/legacy/eobj/src/lib/Eo.h
index f2a425b0f5..08f0a1aa0a 100644
--- a/legacy/eobj/src/lib/Eo.h
+++ b/legacy/eobj/src/lib/Eo.h
@@ -191,6 +191,7 @@ typedef struct _Eo_Event_Description Eo_Event_Description;
191EAPI const Eo_Class * \ 191EAPI const Eo_Class * \
192class_get_func_name(void) \ 192class_get_func_name(void) \
193{ \ 193{ \
194 const Eo_Class *_tmp_parent_class; \
194 static volatile char lk_init = 0; \ 195 static volatile char lk_init = 0; \
195 static Eina_Lock _my_lock; \ 196 static Eina_Lock _my_lock; \
196 static const Eo_Class * volatile _my_class = NULL; \ 197 static const Eo_Class * volatile _my_class = NULL; \
@@ -209,8 +210,8 @@ class_get_func_name(void) \
209 return _my_class; \ 210 return _my_class; \
210 } \ 211 } \
211 eina_lock_release(&_eo_class_creation_lock); \ 212 eina_lock_release(&_eo_class_creation_lock); \
212 (void) parent_class; \ 213 _tmp_parent_class = parent_class; \
213 _my_class = eo_class_new(class_desc, parent_class, __VA_ARGS__); \ 214 _my_class = eo_class_new(class_desc, _tmp_parent_class, __VA_ARGS__); \
214 eina_lock_release(&_my_lock); \ 215 eina_lock_release(&_my_lock); \
215 \ 216 \
216 eina_lock_take(&_eo_class_creation_lock); \ 217 eina_lock_take(&_eo_class_creation_lock); \
@@ -559,11 +560,13 @@ EAPI void eo_error_set_internal(const Eo *obj, const char *file, int line);
559 * @param parent the parent to set to the object. 560 * @param parent the parent to set to the object.
560 * @param ... The ops to run. 561 * @param ... The ops to run.
561 * @return An handle to the new object on success, NULL otherwise. 562 * @return An handle to the new object on success, NULL otherwise.
563 *
564 * @see #eo_add_custom
562 */ 565 */
563#define eo_add(klass, parent, ...) \ 566#define eo_add(klass, parent, ...) \
564 ({ \ 567 ({ \
565 volatile const Eo_Class *_tmp_klass = klass; \ 568 const Eo_Class *_tmp_klass = klass; \
566 eo_add_internal((const Eo_Class *) _tmp_klass, parent, eo_constructor(), ## __VA_ARGS__, EO_NOOP); \ 569 eo_add_internal(_tmp_klass, parent, eo_constructor(), ## __VA_ARGS__, EO_NOOP); \
567 }) 570 })
568 571
569/** 572/**
@@ -573,11 +576,13 @@ EAPI void eo_error_set_internal(const Eo *obj, const char *file, int line);
573 * @param parent the parent to set to the object. 576 * @param parent the parent to set to the object.
574 * @param ... The ops to run. With the constructor being first. 577 * @param ... The ops to run. With the constructor being first.
575 * @return An handle to the new object on success, NULL otherwise. 578 * @return An handle to the new object on success, NULL otherwise.
579 *
580 * @see #eo_add
576 */ 581 */
577#define eo_add_custom(klass, parent, ...) \ 582#define eo_add_custom(klass, parent, ...) \
578 ({ \ 583 ({ \
579 volatile const Eo_Class *_tmp_klass = klass; \ 584 const Eo_Class *_tmp_klass = klass; \
580 eo_add_internal((const Eo_Class *) _tmp_klass, parent, ## __VA_ARGS__, EO_NOOP); \ 585 eo_add_internal(_tmp_klass, parent, ## __VA_ARGS__, EO_NOOP); \
581 }) 586 })
582 587
583/** 588/**