summaryrefslogtreecommitdiff
path: root/vcl/source
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-03-28 10:00:59 +0100
committerCaolán McNamara <caolanm@redhat.com>2017-03-28 19:58:48 +0000
commit5d87c15ef0935081319afe2400c99df14d9fa258 (patch)
tree330aab01abf4bab0990da87e212e87aa71b31a2a /vcl/source
parentf86c3fd8e95f378061d57b77d1c700e076996086 (diff)
ofz#954 out of memory
Change-Id: Ib27f2dfe0d0837544910208f38a1bc11a35e3cb4 Reviewed-on: https://gerrit.libreoffice.org/35794 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl/source')
-rw-r--r--vcl/source/gdi/bitmap3.cxx2
-rw-r--r--vcl/source/gdi/impbmp.cxx5
2 files changed, 6 insertions, 1 deletions
diff --git a/vcl/source/gdi/bitmap3.cxx b/vcl/source/gdi/bitmap3.cxx
index adcdba447f68..ce0f22210a32 100644
--- a/vcl/source/gdi/bitmap3.cxx
+++ b/vcl/source/gdi/bitmap3.cxx
@@ -776,7 +776,7 @@ bool Bitmap::Scale( const double& rScaleX, const double& rScaleY, BmpScaleFlag n
const sal_uInt16 nStartCount(GetBitCount());
- if (mxImpBmp)
+ if (mxImpBmp && mxImpBmp->ImplScalingSupported())
{
// implementation specific scaling
std::shared_ptr<ImpBitmap> xImpBmp(new ImpBitmap);
diff --git a/vcl/source/gdi/impbmp.cxx b/vcl/source/gdi/impbmp.cxx
index 25ebb604d0f1..4342bc8e6402 100644
--- a/vcl/source/gdi/impbmp.cxx
+++ b/vcl/source/gdi/impbmp.cxx
@@ -102,6 +102,11 @@ void ImpBitmap::ImplInvalidateChecksum()
mpSalBitmap->InvalidateChecksum();
}
+bool ImpBitmap::ImplScalingSupported() const
+{
+ return mpSalBitmap->ScalingSupported();
+}
+
bool ImpBitmap::ImplScale( const double& rScaleX, const double& rScaleY, BmpScaleFlag nScaleFlag )
{
return mpSalBitmap->Scale( rScaleX, rScaleY, nScaleFlag );