浏览代码

fixed enum_eq with type parameter

Nicolas Cannasse 8 年之前
父节点
当前提交
9df4160c55
共有 1 个文件被更改,包括 5 次插入0 次删除
  1. 5 0
      src/std/types.c

+ 5 - 0
src/std/types.c

@@ -471,6 +471,11 @@ HL_PRIM bool hl_type_enum_eq( venum *a, venum *b ) {
 			{
 				vdynamic *pa = hl_make_dyn((char*)a + c->offsets[i],t);
 				vdynamic *pb = hl_make_dyn((char*)b + c->offsets[i],t);
+				if( pa && pb && pa->t->kind == HENUM && pb->t->kind == HENUM ) {
+					if( !hl_type_enum_eq((venum*)pa,(venum*)pb) )
+						return false;
+					continue;
+				}
 				if( hl_dyn_compare(pa,pb) )
 					return false;
 			}