From 47635b6e872e3f537ba8859ff2ef7453a4ba374a Mon Sep 17 00:00:00 2001 From: Gunnar Sletta Date: Tue, 1 Oct 2013 09:11:54 +0200 Subject: Mark DirtySubtreeBlocked correctly from OpacityNode In the edgecase where the opacity was exactly the OPACITY_THRESHOLD we would fail to mark the tree as dirty. This led to a crash in the renderer. Change-Id: I618910d0c792a215133598b6a87217be1f8729bc Reviewed-by: Eskil Abrahamsen Blomfeldt --- src/quick/scenegraph/coreapi/qsgnode.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/quick/scenegraph/coreapi/qsgnode.cpp') diff --git a/src/quick/scenegraph/coreapi/qsgnode.cpp b/src/quick/scenegraph/coreapi/qsgnode.cpp index d4241b7265..b0c869c096 100644 --- a/src/quick/scenegraph/coreapi/qsgnode.cpp +++ b/src/quick/scenegraph/coreapi/qsgnode.cpp @@ -1323,8 +1323,8 @@ void QSGOpacityNode::setOpacity(qreal opacity) return; DirtyState dirtyState = DirtyOpacity; - if ((m_opacity < OPACITY_THRESHOLD && opacity > OPACITY_THRESHOLD) - || (m_opacity > OPACITY_THRESHOLD && opacity < OPACITY_THRESHOLD)) + if ((m_opacity < OPACITY_THRESHOLD && opacity >= OPACITY_THRESHOLD) // blocked to unblocked + || (m_opacity >= OPACITY_THRESHOLD && opacity < OPACITY_THRESHOLD)) // unblocked to blocked dirtyState |= DirtySubtreeBlocked; m_opacity = opacity; -- cgit v1.2.3