summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--editor/editor_properties_array_dict.cpp6
-rw-r--r--scene/gui/popup_menu.cpp1
2 files changed, 7 insertions, 0 deletions
diff --git a/editor/editor_properties_array_dict.cpp b/editor/editor_properties_array_dict.cpp
index c6fb323f1a..9aa2390230 100644
--- a/editor/editor_properties_array_dict.cpp
+++ b/editor/editor_properties_array_dict.cpp
@@ -907,6 +907,8 @@ void EditorPropertyDictionary::_add_key_value() {
VariantInternal::initialize(&new_value, type);
object->set_new_item_value(new_value);
+ object->set_dict(dict);
+ slots[(dict.size() - 1) % page_length].update_prop_or_index();
emit_changed(get_edited_property(), dict);
}
@@ -960,6 +962,10 @@ void EditorPropertyDictionary::_change_type_menu(int p_index) {
dict[key] = value;
} else {
dict.erase(key);
+ object->set_dict(dict);
+ for (Slot &slot : slots) {
+ slot.update_prop_or_index();
+ }
}
emit_changed(get_edited_property(), dict);
diff --git a/scene/gui/popup_menu.cpp b/scene/gui/popup_menu.cpp
index 443fe4774a..86b0165754 100644
--- a/scene/gui/popup_menu.cpp
+++ b/scene/gui/popup_menu.cpp
@@ -589,6 +589,7 @@ void PopupMenu::_input_from_window_internal(const Ref<InputEvent> &p_event) {
// This allows for opening the popup and triggering an action in a single mouse click.
if (button_idx == MouseButton::LEFT || initial_button_mask.has_flag(mouse_button_to_mask(button_idx))) {
if (b->is_pressed()) {
+ during_grabbed_click = false;
is_scrolling = is_layout_rtl() ? b->get_position().x < item_clickable_area.position.x : b->get_position().x > item_clickable_area.size.width;
if (!item_clickable_area.has_point(b->get_position())) {