Explorar o código

Merge pull request #56169 from dkaste/fix-clip-rects

Fix canvas items being drawn outside clip rects
Rémi Verschelde %!s(int64=3) %!d(string=hai) anos
pai
achega
586a973b6b
Modificáronse 1 ficheiros con 4 adicións e 0 borrados
  1. 4 0
      servers/rendering/renderer_canvas_cull.cpp

+ 4 - 0
servers/rendering/renderer_canvas_cull.cpp

@@ -261,6 +261,10 @@ void RendererCanvasCull::_cull_canvas_item(Item *p_canvas_item, const Transform2
 	if (ci->clip) {
 		if (p_canvas_clip != nullptr) {
 			ci->final_clip_rect = p_canvas_clip->final_clip_rect.intersection(global_rect);
+			if (ci->final_clip_rect == Rect2()) {
+				// Clip rects do not intersect, so don't draw this item.
+				return;
+			}
 		} else {
 			ci->final_clip_rect = global_rect;
 		}