diff --git a/CHANGELOG.md b/CHANGELOG.md index 2cf916103..b3d60bdc7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - Bugfix: Fixed split tooltip getting stuck in some cases. (#5309) - Bugfix: Fixed the version string not showing up as expected in Finder on macOS. (#5311) - Bugfix: Fixed links having `http://` added to the beginning in certain cases. (#5323) +- Bugfix: Fixed topmost windows from losing their status after opening dialogs on Windows. (#5330) - Bugfix: Fixed a gap appearing when using filters on `/watching`. (#5329) ## 2.5.0-beta.1 diff --git a/src/widgets/BaseWindow.cpp b/src/widgets/BaseWindow.cpp index a61322fce..81ed90b28 100644 --- a/src/widgets/BaseWindow.cpp +++ b/src/widgets/BaseWindow.cpp @@ -263,6 +263,13 @@ void BaseWindow::tryApplyTopMost() } this->waitingForTopMost_ = false; + if (this->parent()) + { + // Don't change the topmost value of child windows. This would apply + // to the top-level window too. + return; + } + ::SetWindowPos(*hwnd, this->isTopMost_ ? HWND_TOPMOST : HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE); }