diff options
author | Thorsten Behrens <tbehrens@suse.com> | 2013-05-07 18:36:01 +0200 |
---|---|---|
committer | Thorsten Behrens <tbehrens@suse.com> | 2013-05-07 18:40:35 +0200 |
commit | c5b58f8e82dcf25426088ff2deb555d043c37e3e (patch) | |
tree | f77742472b127d7f440bce63c52c51b7ccdb2ef3 /vcl | |
parent | connectivity: fix up some more exotic libs... (diff) | |
download | core-c5b58f8e82dcf25426088ff2deb555d043c37e3e.tar.gz core-c5b58f8e82dcf25426088ff2deb555d043c37e3e.zip |
Fix fdo#40421 Take current clip into account for shape bounds.
Seems with the extensive drawinglayer rework, we now get bitmap
fills rendered via clip polygon and subsequent bitmap tiles. To
get the true bound rect of the current metaaction, clip it against
outdev's clip region bounds (as some reasonably cheap best-effort
approximation).
Change-Id: I4ecf04e2d94da21acc97362a1a65a965c7176077
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/gdi/print2.cxx | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/vcl/source/gdi/print2.cxx b/vcl/source/gdi/print2.cxx index 2fb7a28ef9b6..e513f168a317 100644 --- a/vcl/source/gdi/print2.cxx +++ b/vcl/source/gdi/print2.cxx @@ -614,7 +614,14 @@ static Rectangle ImplCalcActionBounds( const MetaAction& rAct, const OutputDevic } if( !aActionBounds.IsEmpty() ) - return rOut.LogicToPixel( aActionBounds ); + { + // fdo#40421 limit current action's output to clipped area + if( rOut.IsClipRegion() ) + return rOut.LogicToPixel( + rOut.GetClipRegion().GetBoundRect().Intersection( aActionBounds ) ); + else + return rOut.LogicToPixel( aActionBounds ); + } else return Rectangle(); } |