diff -r 0b3699f6c654 -r e36b2f4799c0 tsdevicedialog/tsdevicedialogplugin/src/tsdevicedialogplugin.cpp --- a/tsdevicedialog/tsdevicedialogplugin/src/tsdevicedialogplugin.cpp Fri Sep 17 08:32:18 2010 +0300 +++ b/tsdevicedialog/tsdevicedialogplugin/src/tsdevicedialogplugin.cpp Mon Oct 04 00:38:31 2010 +0300 @@ -23,7 +23,6 @@ #include #include -#include #include #include @@ -48,7 +47,6 @@ { const char KTranslationPath[] = "resource/qt/translations"; const char KTsDialogType[] = "com.nokia.taskswitcher.tsdevicedialogplugin/1.0"; - const char KActivityManaged [] = "com.nokia.qt.activities.ActivityManager"; } /*! @@ -60,11 +58,15 @@ mStorage(0), mTriedToLoadTranslation(false) { + // ensure the visibility property is set to false, so the TaskSwitcher + // in case when hbdevicedialogappserver crashes when TS is visible. + QValueSpacePublisher visibilityPublisher(TsProperty::KTsPath); + visibilityPublisher.setValue(TsProperty::KVisibilityPath, static_cast(false)); + visibilityPublisher.sync(); } TsDeviceDialogPlugin::~TsDeviceDialogPlugin() { - delete mModel; } /*! \reimp @@ -123,16 +125,7 @@ // lazy loading of model if (!mModel) { mStorage = new TsTaskMonitor(this); - - QServiceManager serviceManager; - QObject *activityManager(serviceManager.loadInterface(KActivityManaged)); - if (activityManager) { - activityManager->setParent(this); //make it autodestructed - } else { - activityManager = this; //activity plugin is not present. provide invalid instance because its not critical functionality. - //QMetaObject::invokeMethod is safe to use in such a case. - } - mModel = new TsModel(*mStorage, *activityManager); + mModel = new TsModel(*mStorage, this); } // ensure the dismiss request property is set to false