From d727d0743b2f8bebaf895dc2a661a97fbf3f226a Mon Sep 17 00:00:00 2001 From: Julian Harnath Date: Fri, 31 Jul 2015 21:01:12 +0200 Subject: [PATCH] app_server: fix clearing user clipping from BPicture * Clipping was set to an empty region instead of being cleared when inside a BPicture --- src/servers/app/ServerPicture.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/servers/app/ServerPicture.cpp b/src/servers/app/ServerPicture.cpp index 9e060d2ac6..bec689149f 100644 --- a/src/servers/app/ServerPicture.cpp +++ b/src/servers/app/ServerPicture.cpp @@ -538,10 +538,14 @@ set_clipping_rects(Canvas* canvas, const BRect* rects, { // TODO: This might be too slow, we should copy the rects // directly to BRegion's internal data - BRegion region; - for (uint32 c = 0; c < numRects; c++) - region.Include(rects[c]); - canvas->SetUserClipping(®ion); + if (numRects == 0) + canvas->SetUserClipping(NULL); + else { + BRegion region; + for (uint32 c = 0; c < numRects; c++) + region.Include(rects[c]); + canvas->SetUserClipping(®ion); + } canvas->UpdateCurrentDrawingRegion(); }