Work around crash where a destroyed window becomes focus_window
Clear QGuiApplication::focus_window (again) in the QWindow destructor. Task-number: QTBUG-75326 Change-Id: Ief00b6adfb267fcc7e3881fd728e12df07fc1094 Reviewed-by: Christian Andersen <csandersen3@gmail.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This commit is contained in:
parent
a67b25067e
commit
1eac947ce2
@ -218,6 +218,12 @@ QWindow::~QWindow()
|
||||
QGuiApplicationPrivate::window_list.removeAll(this);
|
||||
if (!QGuiApplicationPrivate::is_app_closing)
|
||||
QGuiApplicationPrivate::instance()->modalWindowList.removeOne(this);
|
||||
|
||||
// focus_window is normally cleared in destroy(), but the window may in
|
||||
// some cases end up becoming the focus window again. Clear it again
|
||||
// here as a workaround. See QTBUG-75326.
|
||||
if (QGuiApplicationPrivate::focus_window == this)
|
||||
QGuiApplicationPrivate::focus_window = 0;
|
||||
}
|
||||
|
||||
void QWindowPrivate::init(QScreen *targetScreen)
|
||||
|
Loading…
x
Reference in New Issue
Block a user