summaryrefslogtreecommitdiff
path: root/vcl/source/outdev/bitmap.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/source/outdev/bitmap.cxx')
-rw-r--r--vcl/source/outdev/bitmap.cxx15
1 files changed, 12 insertions, 3 deletions
diff --git a/vcl/source/outdev/bitmap.cxx b/vcl/source/outdev/bitmap.cxx
index 7fe75ec21a14..4aba910cf599 100644
--- a/vcl/source/outdev/bitmap.cxx
+++ b/vcl/source/outdev/bitmap.cxx
@@ -1230,7 +1230,10 @@ void OutputDevice::DrawTransformedBitmapEx(
if(bAllowPreferDirectPaint && bTryDirectPaint)
{
- const basegfx::B2DHomMatrix aFullTransform(GetViewTransformation() * rTransformation);
+ // tdf#130768 CAUTION(!) using GetViewTransformation() is *not* enough here, it may
+ // be that mnOutOffX/mnOutOffY is used - see AOO bug 75163, mentioned at
+ // ImplGetDeviceTransformation declaration
+ const basegfx::B2DHomMatrix aFullTransform(ImplGetDeviceTransformation() * rTransformation);
if(DrawTransformBitmapExDirect(aFullTransform, rBitmapEx))
{
@@ -1277,7 +1280,10 @@ void OutputDevice::DrawTransformedBitmapEx(
// to specify order of executions, so give bTryDirectPaint a call
if(bTryDirectPaint)
{
- const basegfx::B2DHomMatrix aFullTransform(GetViewTransformation() * rTransformation);
+ // tdf#130768 CAUTION(!) using GetViewTransformation() is *not* enough here, it may
+ // be that mnOutOffX/mnOutOffY is used - see AOO bug 75163, mentioned at
+ // ImplGetDeviceTransformation declaration
+ const basegfx::B2DHomMatrix aFullTransform(ImplGetDeviceTransformation() * rTransformation);
if(DrawTransformBitmapExDirect(aFullTransform, rBitmapEx))
{
@@ -1316,7 +1322,10 @@ void OutputDevice::DrawTransformedBitmapEx(
const double fOrigArea(rOriginalSizePixel.Width() * rOriginalSizePixel.Height() * 0.5);
const double fOrigAreaScaled(fOrigArea * 1.44);
double fMaximumArea(std::min(4500000.0, std::max(1000000.0, fOrigAreaScaled)));
- basegfx::B2DHomMatrix aFullTransform(GetViewTransformation() * rTransformation);
+ // tdf#130768 CAUTION(!) using GetViewTransformation() is *not* enough here, it may
+ // be that mnOutOffX/mnOutOffY is used - see AOO bug 75163, mentioned at
+ // ImplGetDeviceTransformation declaration
+ basegfx::B2DHomMatrix aFullTransform(ImplGetDeviceTransformation() * rTransformation);
if(!bMetafile)
{