Fix handle capture in ActivateWindowDelayed

This commit is contained in:
Ilya Fedin 2022-09-07 16:11:46 +04:00 committed by John Preston
parent 12b8b3804c
commit 4d2fc25d03

View file

@ -67,13 +67,13 @@ void ActivateWindowDelayed(not_null<QWidget*> widget) {
return gsl::finally(Fn<void()>([] {}));
}
const auto handle = window->windowHandle();
if (!(handle->flags() & Qt::X11BypassWindowManagerHint)) {
handle->setFlag(Qt::X11BypassWindowManagerHint);
return gsl::finally(Fn<void()>([&] {
handle->setFlag(Qt::X11BypassWindowManagerHint, false);
}));
if (handle->flags() & Qt::X11BypassWindowManagerHint) {
return gsl::finally(Fn<void()>([] {}));
}
return gsl::finally(Fn<void()>([] {}));
handle->setFlag(Qt::X11BypassWindowManagerHint);
return gsl::finally(Fn<void()>([handle] {
handle->setFlag(Qt::X11BypassWindowManagerHint, false);
}));
}();
window->raise();
window->activateWindow();