From 6acf123c6a00f900bd16ffc30612eec9e126b826 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Fri, 9 Dec 2011 07:39:20 +0100 Subject: [PATCH] Restrict image viewer scaling to something reasonable. Task-number: QTCREATORBUG-4383 Change-Id: Iba7925b6ae62346b25e2eaa9c3da26b2a7cf08ec Reviewed-by: Denis Mingulov Reviewed-by: Leandro Melo --- src/plugins/imageviewer/imageview.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/plugins/imageviewer/imageview.cpp b/src/plugins/imageviewer/imageview.cpp index 8001780f5a9..6aba7989fb6 100644 --- a/src/plugins/imageviewer/imageview.cpp +++ b/src/plugins/imageviewer/imageview.cpp @@ -190,7 +190,16 @@ void ImageView::setViewOutline(bool enable) void ImageView::doScale(qreal factor) { - scale(factor, factor); + qreal currentScale = transform().m11(); + qreal newScale = currentScale * factor; + qreal actualFactor = factor; + // cap to 0.001 - 1000 + if (newScale > 1000) + actualFactor = 1000./currentScale; + else if (newScale < 0.001) + actualFactor = 0.001/currentScale; + + scale(actualFactor, actualFactor); emitScaleFactor(); }