Diffstat (limited to 'core/tools/quicklauncher/main.cpp') (more/less context) (show 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 | |||
@@ -25,5 +25,11 @@ | |||
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> |
@@ -236,9 +242,21 @@ int main( int argc, char** argv ) | |||
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; |