summaryrefslogtreecommitdiffstats
path: root/filter
diff options
context:
space:
mode:
Diffstat (limited to 'filter')
-rw-r--r--filter/source/graphicfilter/icgm/bitmap.cxx11
1 files changed, 8 insertions, 3 deletions
diff --git a/filter/source/graphicfilter/icgm/bitmap.cxx b/filter/source/graphicfilter/icgm/bitmap.cxx
index 3075cf733e48..26b837f3be04 100644
--- a/filter/source/graphicfilter/icgm/bitmap.cxx
+++ b/filter/source/graphicfilter/icgm/bitmap.cxx
@@ -81,6 +81,8 @@ void CGMBitmap::ImplGetBitmap( CGMBitmapDescriptor& rDesc )
try {
+ if (rDesc.mnScanSize) {
+
vcl::bitmap::RawBitmap aBitmap( Size( rDesc.mnX, rDesc.mnY ), 24 );
// the picture may either be read from left to right or right to left, from top to bottom ...
@@ -212,6 +214,12 @@ void CGMBitmap::ImplGetBitmap( CGMBitmapDescriptor& rDesc )
}
break;
}
+
+ if ( rDesc.mbStatus )
+ rDesc.mxBitmap = vcl::bitmap::CreateFromData(std::move(aBitmap));
+
+ }
+
double nX = rDesc.mnR.X - rDesc.mnQ.X;
double nY = rDesc.mnR.Y - rDesc.mnQ.Y;
@@ -253,9 +261,6 @@ void CGMBitmap::ImplGetBitmap( CGMBitmapDescriptor& rDesc )
rDesc.mnOrigin.Y += rDesc.mnQ.Y - rDesc.mnR.Y;
}
- if ( rDesc.mbStatus )
- rDesc.mxBitmap = vcl::bitmap::CreateFromData(std::move(aBitmap));
-
} catch (const std::bad_alloc&) {
rDesc.mbStatus = false;
}