summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2014-02-18 16:02:56 +0100
committerJérémy Zurcher <jeremy@asynk.ch>2014-02-26 16:25:00 +0100
commit5be3b666b29c4b5d2e4d5a533cdbea5a1ae890ea (patch)
tree461e8858368134db5df1a46477aed2625f9c27eb /src
parente199230615d5cbc317faf85fa43b5383628b6af6 (diff)
eo: block regular non-instantiable classes in class extension list
Diffstat (limited to 'src')
-rw-r--r--src/lib/eo/eo.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c
index bfee7ebb91..2de799d083 100644
--- a/src/lib/eo/eo.c
+++ b/src/lib/eo/eo.c
@@ -827,8 +827,12 @@ eo_class_new(const Eo_Class_Description *desc, const Eo_Class *parent_id, ...)
827 extn = _eo_class_pointer_get((Eo_Class *)extn_id); 827 extn = _eo_class_pointer_get((Eo_Class *)extn_id);
828 switch (extn->desc->type) 828 switch (extn->desc->type)
829 { 829 {
830 case EO_CLASS_TYPE_REGULAR:
831 case EO_CLASS_TYPE_REGULAR_NO_INSTANT: 830 case EO_CLASS_TYPE_REGULAR_NO_INSTANT:
831 ERR("Regular non-instantiable classes ('%s') aren't allowed in class ('%s') extension list",
832 extn->desc->name, desc->name);
833 return NULL;
834 break;
835 case EO_CLASS_TYPE_REGULAR:
832 case EO_CLASS_TYPE_INTERFACE: 836 case EO_CLASS_TYPE_INTERFACE:
833 case EO_CLASS_TYPE_MIXIN: 837 case EO_CLASS_TYPE_MIXIN:
834 extn_list = eina_list_append(extn_list, extn); 838 extn_list = eina_list_append(extn_list, extn);