summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2021-10-19 18:50:43 +0200
committerGitHub <noreply@github.com>2021-10-19 18:50:43 +0200
commita4fbb67902f493bff503dafd0ccc6277af85f3a1 (patch)
tree10e56c8e663dc577b8a6fdef6d18a6b02885d0b0
parent244faf5588f188f9c1a44432ba04e216d2c6ceee (diff)
parent20f4dce7a06cf5bf33141800a395587662d5b600 (diff)
Merge pull request #53995 from groud/fix_toaster
Fix EditorToaster constant update and prevent a crash
-rw-r--r--editor/editor_toaster.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/editor/editor_toaster.cpp b/editor/editor_toaster.cpp
index 0d45a7f1d8..9de0ea40fe 100644
--- a/editor/editor_toaster.cpp
+++ b/editor/editor_toaster.cpp
@@ -35,7 +35,7 @@
#include "editor_toaster.h"
-EditorToaster *EditorToaster::singleton;
+EditorToaster *EditorToaster::singleton = nullptr;
void EditorToaster::_notification(int p_what) {
switch (p_what) {
@@ -90,8 +90,10 @@ void EditorToaster::_notification(int p_what) {
// Hide element if it is not visible anymore.
if (modulate.a <= 0) {
- element.key->hide();
- needs_update = true;
+ if (element.key->is_visible()) {
+ element.key->hide();
+ needs_update = true;
+ }
}
}
@@ -141,7 +143,7 @@ void EditorToaster::_notification(int p_what) {
}
void EditorToaster::_error_handler(void *p_self, const char *p_func, const char *p_file, int p_line, const char *p_error, const char *p_errorexp, bool p_editor_notify, ErrorHandlerType p_type) {
- if (!EditorToaster::get_singleton()) {
+ if (!EditorToaster::get_singleton() || !EditorToaster::get_singleton()->is_inside_tree()) {
return;
}