瀏覽代碼

bugfix comparison of two virtuals representing the same underlying dynobj

Nicolas Cannasse 8 年之前
父節點
當前提交
0d24436268
共有 1 個文件被更改,包括 4 次插入0 次删除
  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;
 }