summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
Diffstat (limited to 'sc')
-rw-r--r--sc/source/ui/view/drawutil.cxx12
1 files changed, 12 insertions, 0 deletions
diff --git a/sc/source/ui/view/drawutil.cxx b/sc/source/ui/view/drawutil.cxx
index 54b4ef95dd83..1cb5c74fbd82 100644
--- a/sc/source/ui/view/drawutil.cxx
+++ b/sc/source/ui/view/drawutil.cxx
@@ -82,6 +82,18 @@ void ScDrawUtil::CalcScale( ScDocument* pDoc, SCTAB nTab,
nPixelY += ScViewData::ToPixel(nHeight, nPPTY);
}
+ // #i116848# To get a large-enough number for PixelToLogic, multiply the integer values
+ // instead of using a larger number of rows
+ if ( nTwipsY )
+ {
+ long nMultiply = 2000000 / nTwipsY;
+ if ( nMultiply > 1 )
+ {
+ nTwipsY *= nMultiply;
+ nPixelY *= nMultiply;
+ }
+ }
+
MapMode aHMMMode( MAP_100TH_MM, Point(), rZoomX, rZoomY );
Point aPixelLog = pDev->PixelToLogic( Point( nPixelX,nPixelY ), aHMMMode );