diff options
-rw-r--r-- | src/designer/src/components/formeditor/qmainwindow_container.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/designer/src/components/formeditor/qmainwindow_container.cpp b/src/designer/src/components/formeditor/qmainwindow_container.cpp index e25dcb36c..d4bd19d49 100644 --- a/src/designer/src/components/formeditor/qmainwindow_container.cpp +++ b/src/designer/src/components/formeditor/qmainwindow_container.cpp @@ -30,15 +30,14 @@ int QMainWindowContainer::count() const QWidget *QMainWindowContainer::widget(int index) const { - if (index == -1) - return nullptr; - - return m_widgets.at(index); + return m_widgets.value(index, nullptr); } int QMainWindowContainer::currentIndex() const { - return m_mainWindow->centralWidget() ? 0 : -1; + // QTBUG-111603, handle plugins with unmanaged central widgets + auto *cw = m_mainWindow->centralWidget(); + return cw != nullptr && m_widgets.contains(cw) ? 0 : -1; } void QMainWindowContainer::setCurrentIndex(int index) |