Windows: Let topmost and bottom windows use raise and lower respectively
329a029c36
made ::raise and ::lower do nothing
for topmost and bottommost windows. This made it impossible to
e.g. raise one topmost window above another topmost window using
QWindow::raise.
Task-number: QTBUG-62021
Change-Id: I5f60816cbc48d69c0411e3bd68852d8bd8e300bb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
This commit is contained in:
parent
f62768d046
commit
7f7d939380
@ -875,7 +875,7 @@ void QWindowsBaseWindow::raise_sys()
|
|||||||
const Qt::WindowType type = window()->type();
|
const Qt::WindowType type = window()->type();
|
||||||
if (type == Qt::Popup
|
if (type == Qt::Popup
|
||||||
|| type == Qt::SubWindow // Special case for QTBUG-63121: MDI subwindows with WindowStaysOnTopHint
|
|| type == Qt::SubWindow // Special case for QTBUG-63121: MDI subwindows with WindowStaysOnTopHint
|
||||||
|| (window()->flags() & (Qt::WindowStaysOnTopHint | Qt::WindowStaysOnBottomHint)) == 0) {
|
|| !(window()->flags() & Qt::WindowStaysOnBottomHint)) {
|
||||||
SetWindowPos(handle(), HWND_TOP, 0, 0, 0, 0, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE);
|
SetWindowPos(handle(), HWND_TOP, 0, 0, 0, 0, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -883,7 +883,7 @@ void QWindowsBaseWindow::raise_sys()
|
|||||||
void QWindowsBaseWindow::lower_sys()
|
void QWindowsBaseWindow::lower_sys()
|
||||||
{
|
{
|
||||||
qCDebug(lcQpaWindows) << __FUNCTION__ << this << window();
|
qCDebug(lcQpaWindows) << __FUNCTION__ << this << window();
|
||||||
if ((window()->flags() & (Qt::WindowStaysOnTopHint | Qt::WindowStaysOnBottomHint)) == 0)
|
if (!(window()->flags() & Qt::WindowStaysOnTopHint))
|
||||||
SetWindowPos(handle(), HWND_BOTTOM, 0, 0, 0, 0, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE);
|
SetWindowPos(handle(), HWND_BOTTOM, 0, 0, 0, 0, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user