Merge pull request #49553 from timothyqiu/viewport-outside-tree

Fix Viewport crashes when not in tree
This commit is contained in:
Rémi Verschelde 2021-06-13 10:40:37 +02:00 committed by GitHub
commit 1003054134
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -2547,6 +2547,8 @@ void Viewport::_gui_remove_control(Control *p_control) {
}
Window *Viewport::get_base_window() const {
ERR_FAIL_COND_V(!is_inside_tree(), nullptr);
Viewport *v = const_cast<Viewport *>(this);
Window *w = Object::cast_to<Window>(v);
while (!w) {
@ -3336,6 +3338,7 @@ bool Viewport::is_input_handled() const {
return local_input_handled;
} else {
const Viewport *vp = this;
ERR_FAIL_COND_V(!is_inside_tree(), false);
while (true) {
if (Object::cast_to<Window>(vp)) {
break;