canvas/source/vcl/canvashelper_texturefill.cxx |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit c59c43ecfb7b858557c82bb3733ba72f0f23d3df
Author: Michael Stahl <mst...@redhat.com>
Date:   Wed Mar 7 12:21:45 2018 +0100

    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/50888
    Tested-by: Michael Stahl <mst...@redhat.com>
    Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de>

diff --git a/canvas/source/vcl/canvashelper_texturefill.cxx 
b/canvas/source/vcl/canvashelper_texturefill.cxx
index 3250fc879746..4aed1746be5c 100644
--- a/canvas/source/vcl/canvashelper_texturefill.cxx
+++ b/canvas/source/vcl/canvashelper_texturefill.cxx
@@ -604,7 +604,7 @@ namespace vclcanvas
                 const vcl::Region aPolyClipRegion( rPoly );
 
                 rOutDev.Push( PushFlags::CLIPREGION );
-                rOutDev.SetClipRegion( aPolyClipRegion );
+                rOutDev.IntersectClipRegion( aPolyClipRegion );
 
                 doGradientFill( rOutDev,
                                 rValues,
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to