From 053baa018fa6ffe663c646246b8ba2253327cbd6 Mon Sep 17 00:00:00 2001 From: Markku Heikkila Date: Tue, 29 May 2012 09:42:03 +0300 Subject: Fix Assistant crash when closing last tab. Disable 'Close Tab' action from 'File' menu for last tab to avoid crash. Context menu 'close' actions in "open pages" widget, are already disabled under same conditions. Manually cherry-picked from Qt5: Change I7f285f45: Fix Assistant crash when closing last tab Task-number: QTBUG-23986 Change-Id: I0176451c80f0d25e82c7cd4fb2076c23c9d50128 Reviewed-by: Janne Anttila Reviewed-by: Karsten Heimrich Reviewed-by: Lars Knoll --- tools/assistant/tools/assistant/mainwindow.cpp | 10 ++++++++++ tools/assistant/tools/assistant/mainwindow.h | 1 + 2 files changed, 11 insertions(+) diff --git a/tools/assistant/tools/assistant/mainwindow.cpp b/tools/assistant/tools/assistant/mainwindow.cpp index d054855..c10a481 100644 --- a/tools/assistant/tools/assistant/mainwindow.cpp +++ b/tools/assistant/tools/assistant/mainwindow.cpp @@ -440,6 +440,7 @@ void MainWindow::setupActions() #endif QMenu *menu = menuBar()->addMenu(tr("&File")); + connect(menu, SIGNAL(aboutToShow()), this, SLOT(aboutToShowFileMenu())); OpenPagesManager * const openPages = OpenPagesManager::instance(); m_newTabAction @@ -1096,4 +1097,13 @@ void MainWindow::registerDocumentation(const QString &component, } } +void MainWindow::aboutToShowFileMenu() +{ + OpenPagesManager * const openPages = OpenPagesManager::instance(); + if (openPages->pageCount() > 1) + m_closeTabAction->setEnabled(true); + else + m_closeTabAction->setEnabled(false); +} + QT_END_NAMESPACE diff --git a/tools/assistant/tools/assistant/mainwindow.h b/tools/assistant/tools/assistant/mainwindow.h index 68b9c2a..bb40d92 100644 --- a/tools/assistant/tools/assistant/mainwindow.h +++ b/tools/assistant/tools/assistant/mainwindow.h @@ -136,6 +136,7 @@ private: private slots: void showBookmarksDockWidget(); void hideBookmarksDockWidget(); + void aboutToShowFileMenu(); private: QWidget *m_bookmarkWidget; -- cgit v0.12