summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--editor/editor_node.cpp14
-rw-r--r--scene/gui/popup.cpp8
2 files changed, 15 insertions, 7 deletions
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp
index 9d3be1ab9e..1e9cb2f88d 100644
--- a/editor/editor_node.cpp
+++ b/editor/editor_node.cpp
@@ -4967,18 +4967,18 @@ void EditorNode::dim_editor(bool p_dimming) {
static int dim_count = 0;
bool dim_ui = EditorSettings::get_singleton()->get("interface/editor/dim_editor_on_dialog_popup");
if (p_dimming) {
- if (dim_ui) {
- if (dim_count == 0) {
- _start_dimming(true);
- }
- dim_count++;
+ if (dim_ui && dim_count == 0) {
+ _start_dimming(true);
}
+ dim_count++;
} else {
if (dim_count == 1) {
_start_dimming(false);
- dim_count = 0;
- } else if (dim_ui && dim_count > 0) {
+ }
+ if (dim_count > 0) {
dim_count--;
+ } else {
+ ERR_PRINT("Undimmed before dimming!");
}
}
}
diff --git a/scene/gui/popup.cpp b/scene/gui/popup.cpp
index 492e379440..9e996e5519 100644
--- a/scene/gui/popup.cpp
+++ b/scene/gui/popup.cpp
@@ -48,6 +48,14 @@ void Popup::_notification(int p_what) {
update_configuration_warning();
}
+ if (p_what == NOTIFICATION_EXIT_TREE) {
+ if (popped_up) {
+ popped_up = false;
+ notification(NOTIFICATION_POPUP_HIDE);
+ emit_signal("popup_hide");
+ }
+ }
+
if (p_what == NOTIFICATION_ENTER_TREE) {
//small helper to make editing of these easier in editor
#ifdef TOOLS_ENABLED