The ScreenOrientation enum was changed so that the values are power of
twos, angleBetween() needed to be fixed in order to reflect this.
Task-number: QTBUG-22554
Change-Id: Ia45dd6643b40b14204abf967b00c0d04834736a3
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
return d->platformScreen->currentOrientation();
}
+// i must be power of two
+static int log2(uint i)
+{
+ if (i == 0)
+ return -1;
+
+ int result = 0;
+ while (!(i & 1)) {
+ ++result;
+ i >>= 1;
+ }
+ return result;
+}
+
/*!
Convenience function to compute the angle of rotation to get from
rotation \a a to rotation \a b.
if (a == Qt::UnknownOrientation || b == Qt::UnknownOrientation || a == b)
return 0;
- int delta = int(b) - int(a);
+ int ia = log2(uint(a));
+ int ib = log2(uint(b));
+
+ int delta = ia - ib;
if (delta < 0)
delta = delta + 4;
QT += core-private gui-private testlib
SOURCES += tst_qscreen.cpp
-
-CONFIG += insignificant_test # QTBUG-22554