diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2024-03-02 17:21:14 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2024-03-03 16:08:05 +0000 |
commit | cc21debd36869b26b3deeb711b0814c883147bde (patch) | |
tree | f3cca5304b130c5a72934142ddbc210a3d4d0245 | |
parent | 0119a81ea4e412eafce6e0261a5ceb214624e39b (diff) |
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>
-rw-r--r-- | src/widgets/kernel/qwindowcontainer.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/widgets/kernel/qwindowcontainer.cpp b/src/widgets/kernel/qwindowcontainer.cpp index 1247c4c6a6..cfd785a82c 100644 --- a/src/widgets/kernel/qwindowcontainer.cpp +++ b/src/widgets/kernel/qwindowcontainer.cpp @@ -245,6 +245,9 @@ QWindowContainer::~QWindowContainer() d->window->destroy(); delete d->window; + + disconnect(qGuiApp, &QGuiApplication::focusWindowChanged, + this, &QWindowContainer::focusWindowChanged); } |