|
|
In the linked bug report, a Loader is deactivated after an Image within
it has started loading. A slot was connected to the statusChanged
signal of the Image, which calls replace(). This caused an assertion
failure because the StackView's QML engine was null.
Note that it's not enough to check if the QML context is non-null,
because it still is at that point.
There isn't an easy way to check for this in one place in
QQuickStackView, let alone in user code, so we need a lot of engine
checks.
Add a C++ test for StackView, as I wasn't able to get it to crash with
a QML-only test. For now we only need to test the Basic style, since
most styles don't provide anything too interesting or complex for
StackView.
Fixes: QTBUG-140018
Pick-to: 6.8 6.10
Change-Id: I53ba016bf44c46b7734b0b2daeeb62177f9067db
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|