Browse Source

Fix editor remaining dimmed after certain actions

Fixes #30368
Bojidar Marinov 6 years ago
parent
commit
e222615e97
2 changed files with 15 additions and 7 deletions
  1. 7 7
      editor/editor_node.cpp
  2. 8 0
      scene/gui/popup.cpp

+ 7 - 7
editor/editor_node.cpp

@@ -4967,18 +4967,18 @@ void EditorNode::dim_editor(bool p_dimming) {
 	static int dim_count = 0;
 	static int dim_count = 0;
 	bool dim_ui = EditorSettings::get_singleton()->get("interface/editor/dim_editor_on_dialog_popup");
 	bool dim_ui = EditorSettings::get_singleton()->get("interface/editor/dim_editor_on_dialog_popup");
 	if (p_dimming) {
 	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 {
 	} else {
 		if (dim_count == 1) {
 		if (dim_count == 1) {
 			_start_dimming(false);
 			_start_dimming(false);
-			dim_count = 0;
-		} else if (dim_ui && dim_count > 0) {
+		}
+		if (dim_count > 0) {
 			dim_count--;
 			dim_count--;
+		} else {
+			ERR_PRINT("Undimmed before dimming!");
 		}
 		}
 	}
 	}
 }
 }

+ 8 - 0
scene/gui/popup.cpp

@@ -48,6 +48,14 @@ void Popup::_notification(int p_what) {
 		update_configuration_warning();
 		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) {
 	if (p_what == NOTIFICATION_ENTER_TREE) {
 //small helper to make editing of these easier in editor
 //small helper to make editing of these easier in editor
 #ifdef TOOLS_ENABLED
 #ifdef TOOLS_ENABLED