Fix Viewport being visible after leaving tree
When a SubViewport leaves the tree, it is still displayed in its parent SubViewportContainer until the next redraw. This PR makes sure, that the parent gets redrawn immediately. This also fixes the visibility problem when a SubViewport is added as child of a SubViewportContainer.
This commit is contained in:
parent
a8a88194a5
commit
ebd1b0089a
2 changed files with 15 additions and 0 deletions
|
@ -227,6 +227,18 @@ void SubViewportContainer::unhandled_input(const Ref<InputEvent> &p_event) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SubViewportContainer::add_child_notify(Node *p_child) {
|
||||||
|
if (Object::cast_to<SubViewport>(p_child)) {
|
||||||
|
queue_redraw();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void SubViewportContainer::remove_child_notify(Node *p_child) {
|
||||||
|
if (Object::cast_to<SubViewport>(p_child)) {
|
||||||
|
queue_redraw();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
PackedStringArray SubViewportContainer::get_configuration_warnings() const {
|
PackedStringArray SubViewportContainer::get_configuration_warnings() const {
|
||||||
PackedStringArray warnings = Node::get_configuration_warnings();
|
PackedStringArray warnings = Node::get_configuration_warnings();
|
||||||
|
|
||||||
|
|
|
@ -44,6 +44,9 @@ protected:
|
||||||
void _notification(int p_what);
|
void _notification(int p_what);
|
||||||
static void _bind_methods();
|
static void _bind_methods();
|
||||||
|
|
||||||
|
virtual void add_child_notify(Node *p_child) override;
|
||||||
|
virtual void remove_child_notify(Node *p_child) override;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void set_stretch(bool p_enable);
|
void set_stretch(bool p_enable);
|
||||||
bool is_stretch_enabled() const;
|
bool is_stretch_enabled() const;
|
||||||
|
|
Loading…
Reference in a new issue