summaryrefslogtreecommitdiffstats
path: root/kpdf/shell/shell.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kpdf/shell/shell.cpp')
-rw-r--r--kpdf/shell/shell.cpp14
1 files changed, 14 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();