summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
Diffstat (limited to 'vcl')
-rw-r--r--vcl/generic/print/bitmap_gfx.cxx13
1 files changed, 10 insertions, 3 deletions
diff --git a/vcl/generic/print/bitmap_gfx.cxx b/vcl/generic/print/bitmap_gfx.cxx
index a7bac3439cdb..9ee5677a2c84 100644
--- a/vcl/generic/print/bitmap_gfx.cxx
+++ b/vcl/generic/print/bitmap_gfx.cxx
@@ -410,9 +410,16 @@ void
PrinterGfx::DrawBitmap (const Rectangle& rDest, const Rectangle& rSrc,
const PrinterBmp& rBitmap)
{
- double fScaleX = (double)rDest.GetWidth() / (double)rSrc.GetWidth();
- double fScaleY = (double)rDest.GetHeight() / (double)rSrc.GetHeight();
-
+ double fScaleX = (double)rDest.GetWidth();
+ double fScaleY = (double)rDest.GetHeight();
+ if(rSrc.GetWidth() > 0)
+ {
+ fScaleX = (double)rDest.GetWidth() / (double)rSrc.GetWidth();
+ }
+ if(rSrc.GetHeigth() > 0)
+ {
+ fScaleY = (double)rDest.GetHeight() / (double)rSrc.GetHeight();
+ }
PSGSave ();
PSTranslate (rDest.BottomLeft());
PSScale (fScaleX, fScaleY);