diff --git a/src/plugins/android/androiddevice.cpp b/src/plugins/android/androiddevice.cpp index e0d731420c3..a7f4375b51c 100644 --- a/src/plugins/android/androiddevice.cpp +++ b/src/plugins/android/androiddevice.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include #include @@ -89,7 +90,7 @@ static SdkToolResult runAdbCommand(const QStringList &args) class AndroidDeviceManagerInstance : public QObject { public: - AndroidDeviceManagerInstance(QObject *parent); + AndroidDeviceManagerInstance(); ~AndroidDeviceManagerInstance() { QTC_ASSERT(s_instance == this, return); @@ -99,7 +100,7 @@ public: void setupDevicesWatcher(); void eraseAvd(const IDevice::Ptr &device, QWidget *parent); - Group m_avdListRecipe; + Group m_avdListRecipe{}; TaskTreeRunner m_avdListRunner; TaskTreeRunner m_avdDeviceWatcherRunner; std::unique_ptr m_removeAvdProcess; @@ -842,9 +843,7 @@ static void handleAvdListChange(const AndroidDeviceInfoList &avdList) } } -AndroidDeviceManagerInstance::AndroidDeviceManagerInstance(QObject *parent) - : QObject(parent) - , m_avdListRecipe{} +AndroidDeviceManagerInstance::AndroidDeviceManagerInstance() { QTC_ASSERT(!s_instance, return); s_instance = this; @@ -1092,9 +1091,9 @@ void setupAndroidDevice() static AndroidDeviceFactory theAndroidDeviceFactory; } -void setupAndroidDeviceManager(QObject *guard) +void setupAndroidDeviceManager() { - (void) new AndroidDeviceManagerInstance(guard); + static GuardedObject theAndroidDeviceManager; } } // Android::Internal diff --git a/src/plugins/android/androiddevice.h b/src/plugins/android/androiddevice.h index a53686d22d3..18d289e4b12 100644 --- a/src/plugins/android/androiddevice.h +++ b/src/plugins/android/androiddevice.h @@ -74,6 +74,6 @@ Tasking::Group createAvdRecipe(const Tasking::Storage> &e const CreateAvdInfo &info, bool force); void setupAndroidDevice(); -void setupAndroidDeviceManager(QObject *guard); +void setupAndroidDeviceManager(); } // Android::Internal diff --git a/src/plugins/android/androidplugin.cpp b/src/plugins/android/androidplugin.cpp index 3e268bc16ed..edf25cdc770 100644 --- a/src/plugins/android/androidplugin.cpp +++ b/src/plugins/android/androidplugin.cpp @@ -84,7 +84,7 @@ class AndroidPlugin final : public ExtensionSystem::IPlugin setupAndroidQtVersion(); setupAndroidToolchain(); - setupAndroidDeviceManager(this); + setupAndroidDeviceManager(); setupAndroidSettingsPage();