diff options
Diffstat (limited to 'src/plugins/debugger/debuggermainwindow.cpp')
-rw-r--r-- | src/plugins/debugger/debuggermainwindow.cpp | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/src/plugins/debugger/debuggermainwindow.cpp b/src/plugins/debugger/debuggermainwindow.cpp index 2607c1fbd0..233f9d9a6d 100644 --- a/src/plugins/debugger/debuggermainwindow.cpp +++ b/src/plugins/debugger/debuggermainwindow.cpp @@ -372,24 +372,16 @@ void DebuggerMainWindowPrivate::fixupLayoutIfNeeded() { // Evil workaround for QTCREATORBUG-21455: In some so far unknown situation // the saveLayout/restoreLayout process leads to a situation where some docks - // does not end up below the perspective toolbar even though they were there + // do not end up below the perspective toolbar even though they were there // initially, leading to an awkward dock layout. - // This here tries to detect the situation (no other dock directly below the - // toolbar) and "corrects" that by restoring the default layout. - const QRect toolbarRect = m_toolBarDock->geometry(); - const int targetX = toolbarRect.left(); - const int targetY = toolbarRect.bottom(); - - const QList<QDockWidget *> docks = q->dockWidgets(); - for (QDockWidget *dock : docks) { - const QRect dockRect = dock->geometry(); - // 10 for some decoration wiggle room. Found something below? Good. - if (targetX == dockRect.left() && qAbs(targetY - dockRect.top()) < 10) - return; - } + // This here tries to detect the situation (sonmething else in the bottom + // area is at the right of the toolbar) "corrects" that by restoring the + // default layout. - qDebug() << "Scrambled dock layout found. Resetting it."; - resetCurrentPerspective(); + if (m_toolBarDock->width() != q->width()) { + qDebug() << "Scrambled dock layout found. Resetting it."; + resetCurrentPerspective(); + } } void DebuggerMainWindowPrivate::selectPerspective(Perspective *perspective) |