2
0
Эх сурвалжийг харах

Merge pull request #9471 from volzhs/visibility-changes

Update visibility icon properly
Rémi Verschelde 8 жил өмнө
parent
commit
afbb5261e6

+ 1 - 1
editor/scene_tree_editor.cpp

@@ -472,7 +472,7 @@ void SceneTreeEditor::_node_visibility_changed(Node *p_node) {
 void SceneTreeEditor::_update_visibility_color(Node *p_node, TreeItem *p_item) {
 	if (p_node->is_class("CanvasItem") || p_node->is_class("Spatial")) {
 		Color color(1, 1, 1, 1);
-		bool visible_on_screen = p_node->call("is_visible");
+		bool visible_on_screen = p_node->call("is_visible_in_tree");
 		if (!visible_on_screen) {
 			color = Color(0.6, 0.6, 0.6, 1);
 		}

+ 5 - 8
scene/3d/spatial.cpp

@@ -541,10 +541,7 @@ void Spatial::show() {
 	if (!is_inside_tree())
 		return;
 
-	if (!data.parent || is_visible_in_tree()) {
-
-		_propagate_visibility_changed();
-	}
+	_propagate_visibility_changed();
 }
 
 void Spatial::hide() {
@@ -552,14 +549,14 @@ void Spatial::hide() {
 	if (!data.visible)
 		return;
 
-	bool was_visible = is_visible_in_tree();
 	data.visible = false;
 
-	if (!data.parent || was_visible) {
+	if (!is_inside_tree())
+		return;
 
-		_propagate_visibility_changed();
-	}
+	_propagate_visibility_changed();
 }
+
 bool Spatial::is_visible_in_tree() const {
 
 	const Spatial *s = this;