This commit is contained in:
DavidXanatos 2024-01-28 22:05:43 +01:00
parent ae54a8af57
commit 2c2e524254
2 changed files with 18 additions and 3 deletions

View File

@ -10,11 +10,12 @@ This project adheres to [Semantic Versioning](http://semver.org/).
- added Japanese language on Plus UI [#3573](https://github.com/sandboxie-plus/Sandboxie/pull/3573)
### Fixed
- fixed SBIE2321 Cannot manage device map: [C0000034 / 11] [#2996](https://github.com/sandboxie-plus/Sandboxie/issues/2996)
- fixed SBIE2321 Cannot manage device map: C0000034 / 11 [#2996](https://github.com/sandboxie-plus/Sandboxie/issues/2996)
- fixed Cannot run explorer.exe on emulate admin sandbox [#3516](https://github.com/sandboxie-plus/Sandboxie/issues/3516)
- fixed potential BSOD issue with WFP when trace loging is enabled
- fixed potential BSOD issue with WFP when trace loging is enabled [#2471](https://github.com/sandboxie-plus/Sandboxie/issues/2471)
- fixed Run from Sandbox > Run > Program and Run from folder doesn't use the same working dir [#3555](https://github.com/sandboxie-plus/Sandboxie/issues/3555)
- fixed UseNewSymlinkResolver causes applications to create both the link and the target folder [#3481](https://github.com/sandboxie-plus/Sandboxie/issues/3481)
- fixed [Plus UI] Notification window is stuck when a modal dialog shows up [#3586](https://github.com/sandboxie-plus/Sandboxie/issues/3586)

View File

@ -137,8 +137,22 @@ void CPopUpWindow::timerEvent(QTimerEvent* pEvent)
if (pEvent->timerId() != m_uTimerID)
return;
if (m_iTopMost > -5 && (--m_iTopMost == 0)) {
if (m_iTopMost > -5 && (--m_iTopMost == 0))
{
SetWindowPos((HWND)this->winId(), HWND_NOTOPMOST , 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
QWidget *topMostWindow = nullptr;
for (QWidget *widget : QApplication::topLevelWidgets()) {
if (widget->isVisible() && widget->isActiveWindow()) {
topMostWindow = widget;
break;
}
}
if(topMostWindow && (topMostWindow->inherits("CCheckableMessageBox") || topMostWindow->inherits("QMessageBox"))){
SetWindowPos((HWND)topMostWindow->winId(), HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
SetWindowPos((HWND)topMostWindow->winId(), HWND_NOTOPMOST , 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
}
}
}