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

Fix CanvasItem search for a CanvasLayer

This fixes the situation where a `CanvasItem` descendant of a `Viewport` which in turn is a descendant of a `CanvasLayer` prefers the more outer `CanvasLayer` rather than the `Vierport`'s.

Because of that, `CanvasItem`s inside a `Viewport` inside a `CanvasLayer` were being rendered to the main `Viewport` instead of the render target of the innermost one.
Pedro J. Estébanez 7 жил өмнө
parent
commit
49d0af3c8e

+ 3 - 0
scene/2d/canvas_item.cpp

@@ -411,6 +411,9 @@ void CanvasItem::_enter_canvas() {
 			if (canvas_layer) {
 				break;
 			}
+			if (Object::cast_to<Viewport>(n)) {
+				break;
+			}
 			n = n->get_parent();
 		}