Skip to content
Commit f031fa43 authored by Vlad Zahorodnii's avatar Vlad Zahorodnii Committed by Aleix Pol Gonzalez
Browse files

Split window texture provider from window texture node

Currently, the WindowThumbnail item puts both the texture provider and
the scene graph node in a single object.

It uses QPointer to detect if the scene graph node has been deleted.
However, that seems to break if QtQuick passes null oldNode while the
real old node is still alive.

Because the WindowThumbnail caches the old node, it may not see that
QtQuick wants a new scene graph node. With debug build, it's going to
trigger an assert in QQuickWindowPrivate::updateDirtyNode() that checks
if the paint node is either new or belongs to the child container node.
With a release build, it's undefined behavior.

In order to make the WindowThumbnail item handle the case where oldNode
is null while the cached old node is still alive, this change decouples
texture provider bits from the scene graph node and ports the item to
QSGImageNode, which we need to do anyway.

BUG: 439681
parent 90533b5b
Loading
Loading
Loading
Pipeline #88654 passed with stage
in 1 minute and 16 seconds
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment