diff options
author | Bjoern Erik Nilsen <bjorn.nilsen@nokia.com> | 2009-05-06 11:40:25 (GMT) |
---|---|---|
committer | Bjoern Erik Nilsen <bjorn.nilsen@nokia.com> | 2009-05-06 13:23:29 (GMT) |
commit | 2e3a5ea4434d19fbdb90996e71961f0791ea6487 (patch) | |
tree | 7f04e1829a00e3462b400f43bda73801f14da190 /src/gui/graphicsview/qgraphicsitem_p.h | |
parent | 2043637a4e17252062fcb483e2e63ce0cb0920dd (diff) | |
download | Qt-2e3a5ea4434d19fbdb90996e71961f0791ea6487.zip Qt-2e3a5ea4434d19fbdb90996e71961f0791ea6487.tar.gz Qt-2e3a5ea4434d19fbdb90996e71961f0791ea6487.tar.bz2 |
QGraphicsItem::setOpacity(0.0) does not trigger an update.
The problem was that we discarded update requests for fully
transparent items, which is correct, but we even did that
when the update was issued from QGraphicsItem::setOpacity.
We don't have to, and shouldn't, consider the opacity in
that case. Whenever we reach the fullUpdateHelper call in
setOpacity it means we have to do an update regardless of
the current opacity (oldOpacity was not 0.0 if the
currentOpacity is 0.0).
Auto-test included.
Task-number: 252913
Reviewed-by: Andreas
Diffstat (limited to 'src/gui/graphicsview/qgraphicsitem_p.h')
-rw-r--r-- | src/gui/graphicsview/qgraphicsitem_p.h | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/gui/graphicsview/qgraphicsitem_p.h b/src/gui/graphicsview/qgraphicsitem_p.h index a5871a7..9ce1bbf 100644 --- a/src/gui/graphicsview/qgraphicsitem_p.h +++ b/src/gui/graphicsview/qgraphicsitem_p.h @@ -165,11 +165,10 @@ public: void setPosHelper(const QPointF &pos); void setVisibleHelper(bool newVisible, bool explicitly, bool update = true); void setEnabledHelper(bool newEnabled, bool explicitly, bool update = true); - bool discardUpdateRequest(bool ignoreClipping = false, - bool ignoreVisibleBit = false, - bool ignoreDirtyBit = false) const; + bool discardUpdateRequest(bool ignoreClipping = false, bool ignoreVisibleBit = false, + bool ignoreDirtyBit = false, bool ignoreOpacity = false) const; void updateHelper(const QRectF &rect = QRectF(), bool force = false, bool maybeDirtyClipPath = false); - void fullUpdateHelper(bool childrenOnly = false, bool maybeDirtyClipPath = false); + void fullUpdateHelper(bool childrenOnly = false, bool maybeDirtyClipPath = false, bool ignoreOpacity = false); void updateEffectiveOpacity(); void resolveEffectiveOpacity(qreal effectiveParentOpacity); void resolveDepth(int parentDepth); |