Browse Source

avoid bubbling up changed notification when on new item/key of dictionaries to avoid inspector whipeout.

ajreckof 1 year ago
parent
commit
72f4394d8c
1 changed files with 5 additions and 1 deletions
  1. 5 1
      editor/editor_properties_array_dict.cpp

+ 5 - 1
editor/editor_properties_array_dict.cpp

@@ -869,7 +869,11 @@ void EditorPropertyDictionary::_property_changed(const String &p_property, Varia
 	}
 
 	object->set(p_property, p_value);
-	emit_changed(get_edited_property(), object->get_dict(), p_name, p_changing);
+	bool new_item_or_key = !p_property.begins_with("indices");
+	emit_changed(get_edited_property(), object->get_dict(), p_name, p_changing || new_item_or_key);
+	if (new_item_or_key) {
+		update_property();
+	}
 }
 
 void EditorPropertyDictionary::_change_type(Object *p_button, int p_slot_index) {