Browse Source

bugfix comparison of two virtuals representing the same underlying dynobj

Nicolas Cannasse 8 years ago
parent
commit
0d24436268
1 changed files with 4 additions and 0 deletions
  1. 4 0
      src/std/cast.c

+ 4 - 0
src/std/cast.c

@@ -348,6 +348,10 @@ HL_PRIM int hl_dyn_compare( vdynamic *a, vdynamic *b ) {
 	case TK2(HVIRTUAL,HOBJ):
 	case TK2(HVIRTUAL,HDYNOBJ):
 		return hl_dyn_compare(((vvirtual*)a)->value,b);
+	case TK2(HVIRTUAL,HVIRTUAL):
+		if( ((vvirtual*)a)->value && ((vvirtual*)b)->value )
+			return hl_dyn_compare(((vvirtual*)a)->value,((vvirtual*)b)->value);
+		return hl_invalid_comparison;
 	}
 	return hl_invalid_comparison;
 }