summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2015-10-17 09:48:38 -0300
committerJuan Linietsky <reduzio@gmail.com>2015-10-17 09:48:38 -0300
commit652a01f16f6ac90b62feebce3079b910442b77ab (patch)
tree8937267115b8077864807c31cf77e104300b40b5
parentf259f9cbc3eefe431bedc85af08a4d5bbc020d88 (diff)
parent7f001a2c762d50d7502fefde477487b911ddee47 (diff)
Merge pull request #2572 from leezh/clipping-fix
nested clipping of canvas items now works
-rw-r--r--servers/visual/visual_server_raster.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/servers/visual/visual_server_raster.cpp b/servers/visual/visual_server_raster.cpp
index fbea60c3a6..cf840c1be3 100644
--- a/servers/visual/visual_server_raster.cpp
+++ b/servers/visual/visual_server_raster.cpp
@@ -6824,7 +6824,11 @@ void VisualServerRaster::_render_canvas_item(CanvasItem *p_canvas_item,const Mat
copymem(child_items,ci->child_items.ptr(),child_item_count*sizeof(CanvasItem*));
if (ci->clip) {
- ci->final_clip_rect=global_rect;
+ if (p_canvas_clip != NULL) {
+ ci->final_clip_rect=p_canvas_clip->final_clip_rect.clip(global_rect);
+ } else {
+ ci->final_clip_rect=global_rect;
+ }
ci->final_clip_owner=ci;
} else {