From de077f8477c0b7077ed9239be8741fcb67658ffa Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Tue, 12 Apr 2011 20:01:31 +0200 Subject: Let each DolphinMainWindow run in a custom process A possible crash in one Dolphin window should not result in crashing other Dolphin windows. Beside this it also prevents issues with modal dialogs or notifications. BUG: 269950 BUG: 206053 BUG: 196034 FIXED-IN: 4.7.0 --- src/dolphinapplication.h | 38 +++++++------------------------------- 1 file changed, 7 insertions(+), 31 deletions(-) (limited to 'src/dolphinapplication.h') diff --git a/src/dolphinapplication.h b/src/dolphinapplication.h index 0ee52a6cf..69d07c36e 100644 --- a/src/dolphinapplication.h +++ b/src/dolphinapplication.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006 by Peter Penz * + * Copyright (C) 2006-2011 by Peter Penz * * Copyright (C) 2006 by Holger 'zecke' Freyther * * * * This program is free software; you can redistribute it and/or modify * @@ -18,24 +18,16 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * ***************************************************************************/ -#ifndef _DOLPHIN_APPLICATION_H -#define _DOLPHIN_APPLICATION_H +#ifndef DOLPHIN_APPLICATION_H +#define DOLPHIN_APPLICATION_H -#include +#include class DolphinMainWindow; -/** - * @brief Holds the application data which can be accessed. - * At first this will hold a list of DolphinMainWindows which - * we will delete on application exit. - */ - -class DolphinApplication : public KUniqueApplication +class DolphinApplication : public KApplication { Q_OBJECT - Q_CLASSINFO("D-Bus Interface", "org.kde.dolphin.Application") - friend class DolphinMainWindow; public: DolphinApplication(); @@ -43,26 +35,10 @@ public: static DolphinApplication* app(); - /** - * Construct a new mainwindow which is owned - * by the application. - */ - DolphinMainWindow* createMainWindow(); - void refreshMainWindows(); - - /** @see KUniqueApplication::newInstance(). */ - virtual int newInstance(); - - /** Interface implementation for D-Bus Interface. */ - int openWindow(const QString& urlString); - -private: - /** Called by the DolphinMainWindow to deregister. */ - void removeMainWindow(DolphinMainWindow* mainWindow); + void restoreSession(); private: - QList m_mainWindows; - int m_lastId; + DolphinMainWindow* m_mainWindow; }; #endif -- cgit v1.3