summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-03-31 13:36:37 +0100
committerAdolfo Jayme Barrientos <fitojb@ubuntu.com>2015-04-16 16:10:30 +0000
commitd5fdff3e8984c40435bc1093c8ca6820bd635f5a (patch)
treecef75df5ddd9bf0cefdd01910dbc597636118c70
parent6d1699d707a2be510a0021dbce124d27356819ad (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> (cherry picked from commit ba672e1351b7c170aa91dc0c99ecb80d00fcdb06) Reviewed-on: https://gerrit.libreoffice.org/15332 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
-rw-r--r--toolkit/source/awt/vclxwindow.cxx5
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);
}
}