Merge pull request #53995 from groud/fix_toaster

Fix EditorToaster constant update and prevent a crash
This commit is contained in:
Rémi Verschelde 2021-10-19 18:50:43 +02:00 committed by GitHub
commit a4fbb67902
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -35,7 +35,7 @@
#include "editor_toaster.h" #include "editor_toaster.h"
EditorToaster *EditorToaster::singleton; EditorToaster *EditorToaster::singleton = nullptr;
void EditorToaster::_notification(int p_what) { void EditorToaster::_notification(int p_what) {
switch (p_what) { switch (p_what) {
@ -90,8 +90,10 @@ void EditorToaster::_notification(int p_what) {
// Hide element if it is not visible anymore. // Hide element if it is not visible anymore.
if (modulate.a <= 0) { if (modulate.a <= 0) {
element.key->hide(); if (element.key->is_visible()) {
needs_update = true; 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) { 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; return;
} }