diff options
| -rw-r--r-- | editor/editor_properties_array_dict.cpp | 6 | ||||
| -rw-r--r-- | scene/gui/popup_menu.cpp | 1 |
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())) { |
