Keep tiled subwindow order on resize

QMdiArea::tileSubWindows() will move the active window to the first
position, in order to be consistent with other MDI applications on
Windows (according to the original commit message). However, the same
function is also used for re-tiling on resize, so we must make sure
to not reorder in that case.

Fixes: QTBUG-51761
Change-Id: Ibf93a0bf7e663f983b9160364f812c84b5539171
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
This commit is contained in:
Paul Olav Tvete 2018-09-24 13:51:01 +02:00
parent 720e243d88
commit d429146431

View File

@ -954,7 +954,7 @@ void QMdiAreaPrivate::rearrange(Rearranger *rearranger)
}
}
if (active && rearranger->type() == Rearranger::RegularTiler) {
if (active && rearranger->type() == Rearranger::RegularTiler && !tileCalledFromResizeEvent) {
// Move active window in front if necessary. That's the case if we
// have any windows with staysOnTopHint set.
int indexToActive = widgets.indexOf((QWidget *)active);