diff options
| -rw-r--r-- | kpdf/shell/shell.cpp | 14 | ||||
| -rw-r--r-- | kpdf/shell/shell.h | 2 |
2 files changed, 16 insertions, 0 deletions
diff --git a/kpdf/shell/shell.cpp b/kpdf/shell/shell.cpp index c0df6a4f..ed9403df 100644 --- a/kpdf/shell/shell.cpp +++ b/kpdf/shell/shell.cpp @@ -50,6 +50,7 @@ Shell::Shell() : DCOPObject("KPDFShellDCOPIface"), KParts::MainWindow(0, "KPDF::Shell"), m_menuBarWasShown(true), m_toolBarWasShown(true), + m_shuttingDown(false), m_showToolBarAction(nullptr), m_tabs(nullptr), m_tabsContextMenu(nullptr), @@ -63,6 +64,7 @@ Shell::Shell(const KURL &url) : DCOPObject("KPDFShellDCOPIface"), KParts::MainWindow(0, "KPDF::Shell"), m_menuBarWasShown(true), m_toolBarWasShown(true), + m_shuttingDown(false), m_showToolBarAction(nullptr), m_tabs(nullptr), m_tabsContextMenu(nullptr), @@ -101,6 +103,8 @@ void Shell::init() this, TQ_SLOT(createGUI(KParts::Part*))); connect(m_manager, TQ_SIGNAL(activePartChanged(KParts::Part*)), this, TQ_SLOT(slotChangeTab(KParts::Part*))); + connect(tdeApp, TQ_SIGNAL(shutDown()), + this, TQ_SLOT(slotShutDown())); setCentralWidget(m_tabs); setXMLFile("shell.rc"); @@ -433,8 +437,18 @@ void Shell::removeTab() m_workingTab = -1; } +void Shell::slotShutDown() +{ + m_shuttingDown = true; +} + void Shell::slotChangeTab(KParts::Part *part) { + if (m_shuttingDown) + { + return; + } + if (!part) { part = createTab(); diff --git a/kpdf/shell/shell.h b/kpdf/shell/shell.h index d1ace108..87d9c93a 100644 --- a/kpdf/shell/shell.h +++ b/kpdf/shell/shell.h @@ -111,6 +111,7 @@ namespace KPDF void slotUpdateFullScreen(); void slotShowMenubar(); void delayedOpen(); + void slotShutDown(); void slotCloseTabRequest(TQWidget *w); void slotChangeTab(KParts::Part *part); @@ -150,6 +151,7 @@ namespace KPDF TQToolButton *m_addTabButton, *m_removeTabButton; TQPopupMenu *m_tabsContextMenu; bool m_menuBarWasShown, m_toolBarWasShown; + bool m_shuttingDown; KURL m_openUrl; // delayed open int m_workingTab; }; |
