Workaround for new debug widgets being opened in normal mode. (#1950)

This commit is contained in:
karliss 2019-12-20 08:19:44 +02:00 committed by Itay Cohen
parent 05acb30076
commit faf6959278
2 changed files with 20 additions and 1 deletions

View File

@ -677,7 +677,8 @@ void MainWindow::readSettingsOrDefault()
// make sure all DockWidgets are part of the MainWindow
// also show them, so newly installed plugin widgets are shown right away
for (auto dockWidget : dockWidgets) {
if (dockWidgetArea(dockWidget) == Qt::DockWidgetArea::NoDockWidgetArea) {
if (dockWidgetArea(dockWidget) == Qt::DockWidgetArea::NoDockWidgetArea &&
!isDebugWidget(dockWidget)) {
addDockWidget(Qt::DockWidgetArea::TopDockWidgetArea, dockWidget);
dockWidget->show();
}
@ -865,6 +866,18 @@ void MainWindow::updateDockActionsChecked()
}
}
bool MainWindow::isDebugWidget(QDockWidget *dock) const
{
return dock == stackDock ||
dock == registersDock ||
dock == backtraceDock ||
dock == threadsDock ||
dock == memoryMapDock ||
dock == breakpointDock ||
dock == processesDock ||
dock == registerRefsDock;
}
MemoryWidgetType MainWindow::getMemoryWidgetTypeToRestore()
{
if (lastSyncMemoryWidget) {

View File

@ -288,6 +288,12 @@ private:
void updateDockActionsChecked();
void setOverviewData();
bool isOverviewActive();
/**
* @brief Check if a widget is one of debug specific dock widgets.
* @param dock
* @return true for debug specific widgets, false for all other including common dock widgets.
*/
bool isDebugWidget(QDockWidget *dock) const;
MemoryWidgetType getMemoryWidgetTypeToRestore();