From 83e71b4192b232fa5c3e17cc729ea8c94425cba5 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Tue, 6 Aug 2013 09:35:49 -0500 Subject: [PATCH] Allow TDEApplication objects to be constructed without a session manager This relates to Bug 760 (cherry picked from commit 6f4fd5e5632b2288a483430c625081a51342fdab) --- kdecore/kapplication.cpp | 35 +++++++++++++++++++++++++++++++++++ kdecore/kapplication.h | 12 ++++++++++-- 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/kdecore/kapplication.cpp b/kdecore/kapplication.cpp index d8879517f..b5aa8bc80 100644 --- a/kdecore/kapplication.cpp +++ b/kdecore/kapplication.cpp @@ -35,7 +35,14 @@ #undef QT_NO_TRANSLATION #undef TQT_NO_TRANSLATION #include + +// FIXME +// FOR BINARY COMPATIBILITY ONLY +// REMOVE WHEN PRACTICAL! +#define TDEAPPLICATION_BINARY_COMPAT_HACK 1 #include "kapplication.h" +#undef TDEAPPLICATION_BINARY_COMPAT_HACK + #define QT_NO_TRANSLATION #define TQT_NO_TRANSLATION #include @@ -619,6 +626,34 @@ static SmcConn tmpSmcConnection = 0; #endif static TQTime* smModificationTime = 0; +KApplication::KApplication( int& argc, char** argv, const TQCString& rAppName, + bool allowStyles, bool GUIenabled, bool SMenabled ) : + TQApplication( argc, argv, GUIenabled, SMenabled ), KInstance(rAppName), +#ifdef Q_WS_X11 + display(0L), + argb_visual(false), +#endif + d (new KApplicationPrivate()) +{ + aIconPixmap.pm.icon = 0L; + aIconPixmap.pm.miniIcon = 0L; + read_app_startup_id(); + if (!GUIenabled) + allowStyles = false; + useStyles = allowStyles; + Q_ASSERT (!rAppName.isEmpty()); + setName(rAppName); + + installSigpipeHandler(); + KCmdLineArgs::initIgnore(argc, argv, rAppName.data()); + parseCommandLine( ); + init(GUIenabled); + d->m_KAppDCOPInterface = new KAppDCOPInterface(this); +} + +// FIXME +// FOR BINARY COMPATIBILITY ONLY +// REMOVE WHEN PRACTICAL! KApplication::KApplication( int& argc, char** argv, const TQCString& rAppName, bool allowStyles, bool GUIenabled ) : TQApplication( argc, argv, GUIenabled ), KInstance(rAppName), diff --git a/kdecore/kapplication.h b/kdecore/kapplication.h index 25ecb6ee3..25c527abc 100644 --- a/kdecore/kapplication.h +++ b/kdecore/kapplication.h @@ -257,8 +257,16 @@ public: */ // REMOVE FOR KDE 4.0 - using it only gives crashing applications because // KCmdLineArgs::init isn't called - KApplication(int& argc, char** argv, - const TQCString& rAppName, bool allowStyles=true, bool GUIenabled=true) KDE_DEPRECATED; + KApplication(int& argc, char** argv, + const TQCString& rAppName, bool allowStyles=true, bool GUIenabled=true, bool SMenabled=true) KDE_DEPRECATED; + +#ifdef TDEAPPLICATION_BINARY_COMPAT_HACK + // FIXME + // FOR BINARY COMPATIBILITY ONLY + // REMOVE WHEN PRACTICAL! + KApplication(int& argc, char** argv, + const TQCString& rAppName, bool allowStyles, bool GUIenabled) KDE_DEPRECATED; +#endif // TDEAPPLICATION_BINARY_COMPAT_HACK /** * Add Qt and KDE command line options to KCmdLineArgs.