|
 |
135360 |
From 812ccd30a4d088f81c1aef29296aa702a0ba03b3 Mon Sep 17 00:00:00 2001
|
|
 |
135360 |
From: Miklos Vajna <vmiklos@collabora.co.uk>
|
|
 |
135360 |
Date: Thu, 15 Oct 2015 17:18:28 +0200
|
|
 |
135360 |
Subject: [PATCH 212/398] vcl: aAlphaBitmap.ImplGetImpBitmap() seen as 0
|
|
 |
135360 |
|
|
 |
135360 |
Change-Id: I3f34f0315045d33ff6e498e24c0dacb0aabb0ff9
|
|
 |
135360 |
(cherry picked from commit 293dd731e9815c06ba8eca1fb83d86276103c820)
|
|
 |
135360 |
---
|
|
 |
135360 |
desktop/qa/desktop_lib/test_desktop_lib.cxx | 8 ++++++++
|
|
 |
135360 |
vcl/source/outdev/bitmap.cxx | 11 +++++++----
|
|
 |
135360 |
2 files changed, 15 insertions(+), 4 deletions(-)
|
|
 |
135360 |
|
|
 |
135360 |
diff --git a/desktop/qa/desktop_lib/test_desktop_lib.cxx b/desktop/qa/desktop_lib/test_desktop_lib.cxx
|
|
 |
135360 |
index c3cc748a5d61..df8723b8cedd 100644
|
|
 |
135360 |
--- a/desktop/qa/desktop_lib/test_desktop_lib.cxx
|
|
 |
135360 |
+++ b/desktop/qa/desktop_lib/test_desktop_lib.cxx
|
|
 |
135360 |
@@ -298,6 +298,14 @@ void DesktopLOKTest::testPaintTile()
|
|
 |
135360 |
// 256.
|
|
 |
135360 |
pDocument->pClass->paintTile(pDocument, aBuffer.data(), nCanvasWidth, nCanvasHeight, nTilePosX, nTilePosY, nTileWidth, nTileHeight);
|
|
 |
135360 |
|
|
 |
135360 |
+ // This crashed in OutputDevice::DrawDeviceAlphaBitmap().
|
|
 |
135360 |
+ nCanvasWidth = 200;
|
|
 |
135360 |
+ nCanvasHeight = 200;
|
|
 |
135360 |
+ nTileWidth = 4000;
|
|
 |
135360 |
+ nTileHeight = 4000;
|
|
 |
135360 |
+ aBuffer.resize(nCanvasWidth * nCanvasHeight * 4);
|
|
 |
135360 |
+ pDocument->pClass->paintTile(pDocument, aBuffer.data(), nCanvasWidth, nCanvasHeight, nTilePosX, nTilePosY, nTileWidth, nTileHeight);
|
|
 |
135360 |
+
|
|
 |
135360 |
closeDoc();
|
|
 |
135360 |
}
|
|
 |
135360 |
|
|
 |
135360 |
diff --git a/vcl/source/outdev/bitmap.cxx b/vcl/source/outdev/bitmap.cxx
|
|
 |
135360 |
index 3f415d458878..e845562b27aa 100644
|
|
 |
135360 |
--- a/vcl/source/outdev/bitmap.cxx
|
|
 |
135360 |
+++ b/vcl/source/outdev/bitmap.cxx
|
|
 |
135360 |
@@ -670,11 +670,14 @@ void OutputDevice::DrawDeviceAlphaBitmap( const Bitmap& rBmp, const AlphaMask& r
|
|
 |
135360 |
if (mpAlphaVDev)
|
|
 |
135360 |
{
|
|
 |
135360 |
Bitmap aAlphaBitmap( mpAlphaVDev->GetBitmap( aRelPt, aOutSz ) );
|
|
 |
135360 |
- SalBitmap* pSalAlphaBmp2 = aAlphaBitmap.ImplGetImpBitmap()->ImplGetSalBitmap();
|
|
 |
135360 |
- if (mpGraphics->BlendAlphaBitmap(aTR, *pSalSrcBmp, *pSalAlphaBmp, *pSalAlphaBmp2, this))
|
|
 |
135360 |
+ if (aAlphaBitmap.ImplGetImpBitmap())
|
|
 |
135360 |
{
|
|
 |
135360 |
- mpAlphaVDev->BlendBitmap(aTR, rAlpha);
|
|
 |
135360 |
- return;
|
|
 |
135360 |
+ SalBitmap* pSalAlphaBmp2 = aAlphaBitmap.ImplGetImpBitmap()->ImplGetSalBitmap();
|
|
 |
135360 |
+ if (mpGraphics->BlendAlphaBitmap(aTR, *pSalSrcBmp, *pSalAlphaBmp, *pSalAlphaBmp2, this))
|
|
 |
135360 |
+ {
|
|
 |
135360 |
+ mpAlphaVDev->BlendBitmap(aTR, rAlpha);
|
|
 |
135360 |
+ return;
|
|
 |
135360 |
+ }
|
|
 |
135360 |
}
|
|
 |
135360 |
}
|
|
 |
135360 |
else
|
|
 |
135360 |
--
|
|
 |
135360 |
2.12.0
|
|
 |
135360 |
|