Diffstat (limited to 'core/tools/quicklauncher/main.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/tools/quicklauncher/main.cpp | 22 |
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 @@ | |||
24 | #include <qguardedptr.h> | 24 | #include <qguardedptr.h> |
25 | #include <qcopchannel_qws.h> | 25 | #include <qcopchannel_qws.h> |
26 | #define QTOPIA_INTERNAL_INITAPP | 26 | #define QTOPIA_INTERNAL_INITAPP |
27 | |||
28 | #ifdef private | ||
29 | # undef private | ||
30 | #endif | ||
31 | #define private public | ||
27 | #include <qtopia/qpeapplication.h> | 32 | #include <qtopia/qpeapplication.h> |
33 | #undef private | ||
28 | #include <stdio.h> | 34 | #include <stdio.h> |
29 | #include <stdlib.h> | 35 | #include <stdlib.h> |
30 | #include <sys/types.h> | 36 | #include <sys/types.h> |
@@ -235,11 +241,23 @@ int main( int argc, char** argv ) | |||
235 | 241 | ||
236 | if ( mainWindow ) | 242 | if ( mainWindow ) |
237 | delete (QWidget*)mainWindow; | 243 | delete (QWidget*)mainWindow; |
244 | |||
245 | delete app; | ||
238 | if ( appIface ) | 246 | if ( appIface ) |
239 | loader->releaseInterface( appIface ); | 247 | loader->releaseInterface( appIface ); |
240 | delete loader; | 248 | delete loader; |
241 | 249 | // Neither QLibrary nor my Dropin is a QObject and they don't depend | |
242 | delete app; | 250 | // on a qApp so we destroy QWidget::destroyMapper() without |
251 | // crashing the app | ||
252 | // | ||
253 | // The problem is there are some 'static' resources not freed | ||
254 | // in the apps and on destructing these objects are not available | ||
255 | // anymore. In future fix up the apps but for now | ||
256 | // we just skip deletion and hope things go well -zecke | ||
257 | // delete app; | ||
258 | // hack instead -zecke | ||
259 | // delete app->pidChannel; | ||
260 | // app->pidChannel = 0; | ||
243 | 261 | ||
244 | return rv; | 262 | return rv; |
245 | } | 263 | } |