Disconnect QWindowContainer::focusWindowChanged on destruction

Regression after 9e78256579e8dc704066a98cb4816a1aab0e7e3b.

Apparently the string based connection syntax is more lenient,
as with PMF-style connects, we (correctly) get:

 ASSERT failure in QWindowContainer: "Called object is not of the
 correct type (class destructor may have already run)"

when the QWidget destructor closes the QWindow and we get a
synchronous callback from the platform that we've lost the
focus window.

Change-Id: I8f25b3b050e11913ec0f0941eaf831c88b4249f9
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
(cherry picked from commit 7ff1285e7a93d51e1f2a079ae33349906d9e9fea)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Tor Arne Vestbø 2024-03-02 17:21:14 +01:00 committed by Qt Cherry-pick Bot
parent 0119a81ea4
commit cc21debd36

View File

@ -245,6 +245,9 @@ QWindowContainer::~QWindowContainer()
d->window->destroy();
delete d->window;
disconnect(qGuiApp, &QGuiApplication::focusWindowChanged,
this, &QWindowContainer::focusWindowChanged);
}