diff options
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/generic/print/bitmap_gfx.cxx | 13 |
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); |