summaryrefslogtreecommitdiff
path: root/core/tools/quicklauncher/main.cpp
authormickeyl <mickeyl>2003-11-06 09:50:40 (UTC)
committer mickeyl <mickeyl>2003-11-06 09:50:40 (UTC)
commit2f974fea9a432e9dd7b7a8ad235a4e6bc2ef51fe (patch) (side-by-side diff)
treeab2089d9282c53146cd0e03b96345a34d74d156e /core/tools/quicklauncher/main.cpp
parent26ae86ca1e42b61bd0f0031b437ed90a640aa82b (diff)
downloadopie-2f974fea9a432e9dd7b7a8ad235a4e6bc2ef51fe.zip
opie-2f974fea9a432e9dd7b7a8ad235a4e6bc2ef51fe.tar.gz
opie-2f974fea9a432e9dd7b7a8ad235a4e6bc2ef51fe.tar.bz2
merge core/tools/*
Diffstat (limited to 'core/tools/quicklauncher/main.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/tools/quicklauncher/main.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/core/tools/quicklauncher/main.cpp b/core/tools/quicklauncher/main.cpp
index 7d368ab..cc411fd 100644
--- a/core/tools/quicklauncher/main.cpp
+++ b/core/tools/quicklauncher/main.cpp
@@ -24,7 +24,13 @@
#include <qguardedptr.h>
#include <qcopchannel_qws.h>
#define QTOPIA_INTERNAL_INITAPP
+
+#ifdef private
+# undef private
+#endif
+#define private public
#include <qtopia/qpeapplication.h>
+#undef private
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
@@ -235,11 +241,23 @@ int main( int argc, char** argv )
if ( mainWindow )
delete (QWidget*)mainWindow;
+
+ delete app;
if ( appIface )
loader->releaseInterface( appIface );
delete loader;
-
- delete app;
+ // Neither QLibrary nor my Dropin is a QObject and they don't depend
+ // on a qApp so we destroy QWidget::destroyMapper() without
+ // crashing the app
+ //
+ // The problem is there are some 'static' resources not freed
+ // in the apps and on destructing these objects are not available
+ // anymore. In future fix up the apps but for now
+ // we just skip deletion and hope things go well -zecke
+// delete app;
+ // hack instead -zecke
+// delete app->pidChannel;
+// app->pidChannel = 0;
return rv;
}