summaryrefslogtreecommitdiff
path: root/debian/patches/Fix_transformIsSimple_in_QGraphicsScene.patch
blob: d04a8e49f35917c03344bd3d35b68cf980546b81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
commit 6901d3a9ff05a6fbf13ef7f38a36ad21d20f6a49
Author: Jørgen Lind <jorgen.lind@nokia.com>
Date:   Tue Nov 16 12:45:15 2010 +0100

    Fix transformIsSimple in QGraphicsScene
    
    The transformIsSimple was a bit to restrictive
    
    Reviewed-by: bnilsen

---
 src/gui/graphicsview/qgraphicsscene.cpp |   19 +------------------
 1 file changed, 1 insertion(+), 18 deletions(-)

--- a/src/gui/graphicsview/qgraphicsscene.cpp
+++ b/src/gui/graphicsview/qgraphicsscene.cpp
@@ -4369,25 +4369,8 @@ static void _q_paintIntoCache(QPixmap *p
 static inline bool transformIsSimple(const QTransform& transform)
 {
     QTransform::TransformationType type = transform.type();
-    if (type == QTransform::TxNone || type == QTransform::TxTranslate) {
+    if (type <= QTransform::TxScale) {
         return true;
-    } else if (type == QTransform::TxScale) {
-        // Check for 0 and 180 degree rotations.
-        // (0 might happen after 4 rotations of 90 degrees).
-        qreal m11 = transform.m11();
-        qreal m12 = transform.m12();
-        qreal m21 = transform.m21();
-        qreal m22 = transform.m22();
-        if (m12 == 0.0f && m21 == 0.0f) {
-            if (m11 == 1.0f && m22 == 1.0f)
-                return true; // 0 degrees
-            else if (m11 == -1.0f && m22 == -1.0f)
-                return true; // 180 degrees.
-            if(m11 == 1.0f && m22 == -1.0f)
-                return true; // 0 degrees inverted y.
-            else if(m11 == -1.0f && m22 == 1.0f)
-                return true; // 180 degrees inverted y.
-        }
     } else if (type == QTransform::TxRotate) {
         // Check for 90, and 270 degree rotations.
         qreal m11 = transform.m11();