Bladeren bron

Fix extension soft lock when inspecting Dictionary variables with Variant key types (#854)

Co-authored-by: Pawel Miniszewski <[email protected]>
EF 2 maanden geleden
bovenliggende
commit
29734ea849
2 gewijzigde bestanden met toevoegingen van 4 en 0 verwijderingen
  1. 3 0
      src/debugger/godot4/variables/variant_decoder.ts
  2. 1 0
      src/debugger/godot4/variables/variants.ts

+ 3 - 0
src/debugger/godot4/variables/variant_decoder.ts

@@ -210,6 +210,9 @@ export class VariantDecoder {
 
 	private decode_ContainerTypeFlag(model: BufferModel, type: GDScriptTypes, bitOffset: number) {
 		const shiftedType = (type >> bitOffset) & 0b11;
+		if (shiftedType === ContainerTypeFlags.NONE) {
+			return 0;
+		}
 		if (shiftedType === ContainerTypeFlags.BUILTIN) {
 			return this.decode_UInt32(model);
 		} else {

+ 1 - 0
src/debugger/godot4/variables/variants.ts

@@ -58,6 +58,7 @@ export const ENCODE_FLAG_TYPED_ARRAY_MASK = 0b11 << 16;
 export const ENCODE_FLAG_TYPED_DICT_MASK = 0b1111 << 16;
 
 export enum ContainerTypeFlags {
+	NONE = 0,
 	BUILTIN = 1,
 	CLASS_NAME = 2,
 	SCRIPT = 3,