diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-03-31 13:36:37 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2015-04-15 20:47:55 +0200 |
commit | ba672e1351b7c170aa91dc0c99ecb80d00fcdb06 (patch) | |
tree | 938e3984812cccca9d18fbb033307d332add2e77 /toolkit | |
parent | 7ede9572e86a907f7cce8debba732d07b6b45923 (diff) |
Resolves: tdf#90228 1.06 turns into a monster
(cherry picked from commit 2ec9d9dd81f3f4ee6785ba938f9a79395972b71e)
Also happens to fix tdf#89987
Change-Id: I8ebb57fe8b94da2569593ffa7cf374cae64a846a
Signed-off-by: Michael Stahl <mstahl@redhat.com>
Diffstat (limited to 'toolkit')
-rw-r--r-- | toolkit/source/awt/vclxwindow.cxx | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/toolkit/source/awt/vclxwindow.cxx b/toolkit/source/awt/vclxwindow.cxx index 69407624c926..290555fc23ed 100644 --- a/toolkit/source/awt/vclxwindow.cxx +++ b/toolkit/source/awt/vclxwindow.cxx @@ -2331,8 +2331,9 @@ void VCLXWindow::setZoom( float fZoomX, float /*fZoomY*/ ) throw(::com::sun::sta // The implicit conversion from float to double can result in a precision loss, i.e. 1.2 is converted to // 1.200000000047something. To prevent this, we convert explicitly to double, and round it. double nZoom( fZoomX ); - nZoom = ::rtl::math::round( nZoom, 4 ); - GetWindow()->SetZoom( Fraction( nZoom ) ); + Fraction aZoom(::rtl::math::round(nZoom, 4)); + aZoom.ReduceInaccurate(10); // to avoid runovers and BigInt mapping + GetWindow()->SetZoom(aZoom); } } |