summaryrefslogtreecommitdiff
path: root/canvas
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2018-03-07 12:21:45 +0100
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2018-03-07 22:20:44 +0100
commite89b8a1b5c2312b8d5f96dadb98bdab6b9e44528 (patch)
tree5ecd17550b3252951c7a572cc220f18338e3876c /canvas
parent95bf328d76352c4a2745ece21ccf99ac41693fb8 (diff)
VCL canvas: fix clipping of gradients (related: tdf#115142)
When using the presenter console, the secondary screen has a small view of the current slide, which is called a "Pane" in sdext. Clipping for this is done by sd::presenter::PresenterCanvas, which wraps the full-screen VCL canvas and has a MergeViewState() to intersect the clip region. The VCL canvas has a bug in its gradientFill() implemenation where it overrides the existing clip on the OutputDevice instead of intersecting it. This properly fixes the bug that was wrongly and badly attempted to be fixed by commit 99e373cd4c78084ded349f3e3de7b0504af2dd90. Change-Id: Id02678c2f134fe7b190866d6a6fff5b2e5e3aaff (cherry picked from commit 5d710cf7dda27e78f237211fd92418be4dd1c551) Reviewed-on: https://gerrit.libreoffice.org/50886 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Diffstat (limited to 'canvas')
-rw-r--r--canvas/source/vcl/canvashelper_texturefill.cxx2
1 files changed, 1 insertions, 1 deletions
diff --git a/canvas/source/vcl/canvashelper_texturefill.cxx b/canvas/source/vcl/canvashelper_texturefill.cxx
index c2735a5ce46d..3a9c1a356c3a 100644
--- a/canvas/source/vcl/canvashelper_texturefill.cxx
+++ b/canvas/source/vcl/canvashelper_texturefill.cxx
@@ -602,7 +602,7 @@ namespace vclcanvas
const vcl::Region aPolyClipRegion( rPoly );
rOutDev.Push( PushFlags::CLIPREGION );
- rOutDev.SetClipRegion( aPolyClipRegion );
+ rOutDev.IntersectClipRegion( aPolyClipRegion );
doGradientFill( rOutDev,
rValues,