瀏覽代碼

-Fix viewport converting the scren in grayness, fixes #3406

Juan Linietsky 9 年之前
父節點
當前提交
9d571d8eac
共有 1 個文件被更改,包括 12 次插入8 次删除
  1. 12 8
      scene/main/viewport.cpp

+ 12 - 8
scene/main/viewport.cpp

@@ -331,21 +331,25 @@ void Viewport::_notification(int p_what) {
 				}
 			}
 
-			if (!render_target)
-				_vp_enter_tree();
 
-			this->parent=NULL;
-			Node *parent=get_parent();
+			parent=NULL;
+			Node *parent_node=get_parent();
 
-			if (parent) {
 
+			while(parent_node) {
 
-				while(parent && !(this->parent=parent->cast_to<Viewport>())) {
+				parent = parent_node->cast_to<Viewport>();
+				if (parent)
+					break;
 
-					parent=parent->get_parent();
-				}
+				parent_node=parent_node->get_parent();
 			}
 
+
+			if (!render_target)
+				_vp_enter_tree();
+
+
 			current_canvas=find_world_2d()->get_canvas();
 			VisualServer::get_singleton()->viewport_set_scenario(viewport,find_world()->get_scenario());
 			VisualServer::get_singleton()->viewport_attach_canvas(viewport,current_canvas);