Fix width/height property assignment during animations.
authorAaron McCarthy <aaron.mccarthy@jollamobile.com>
Thu, 12 Feb 2015 05:36:44 +0000 (15:36 +1000)
committerAaron McCarthy <mccarthy.aaron@gmail.com>
Thu, 12 Feb 2015 23:54:25 +0000 (23:54 +0000)
During animations the behavior of

anchors.fill: parent

and

width: parent.width
height: parent.height

can be different resulting in subtle UI bugs where the final value of a
property is not applied because it is within epsilon of the previous
value. Fixed by directly comparing the width and height instead of
using operator==(QSize, QSize) which does a fuzzy comparison.

Change-Id: I4288b93db2b7baacd9f71ae1932ae743a428313a
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
src/quick/items/qquickitem.cpp

index 6a00f80..d1369fb 100644 (file)
@@ -6372,7 +6372,7 @@ void QQuickItem::setSize(const QSizeF &size)
     d->heightValid = true;
     d->widthValid = true;
 
-    if (QSizeF(d->width, d->height) == size)
+    if (d->width == size.width() && d->height == size.height())
         return;
 
     qreal oldHeight = d->height;