From: Alan Alpert Date: Thu, 10 May 2012 10:48:59 +0000 (+1000) Subject: Fix case where visible wasn't marked as dirty. X-Git-Tag: upstream/5.2.1~1901 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=36d6307dd19d34354fb1ada7b6e5883977d43db8;p=platform%2Fupstream%2Fqtdeclarative.git Fix case where visible wasn't marked as dirty. In the case where an item was marked invisible when it was already effectively invisible, we previously did not update the dirty visibility and so it would still get drawn when it became effectively visible. Task-number: QTBUG-24847 Change-Id: Id1ee815e8184e4fc632214a7c8eea0a613fcc376 Reviewed-by: Martin Jones --- diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp index fd81328..be36d76 100644 --- a/src/quick/items/qquickitem.cpp +++ b/src/quick/items/qquickitem.cpp @@ -4114,6 +4114,8 @@ void QQuickItem::setVisible(bool v) return; d->explicitVisible = v; + if (!v) + d->dirty(QQuickItemPrivate::Visible); const bool childVisibilityChanged = d->setEffectiveVisibleRecur(d->calcEffectiveVisible()); if (childVisibilityChanged && d->parentItem)