diff --git a/frame/controller/dockpluginloader.cpp b/frame/controller/dockpluginloader.cpp index 94119d25f..d2aecd47a 100644 --- a/frame/controller/dockpluginloader.cpp +++ b/frame/controller/dockpluginloader.cpp @@ -27,8 +27,9 @@ void DockPluginLoader::run() if (file.startsWith("libdde-dock-")) continue; - msleep(150); emit pluginFounded(pluginsDir.absoluteFilePath(file)); + + msleep(500); } emit finished(); diff --git a/frame/controller/dockpluginscontroller.cpp b/frame/controller/dockpluginscontroller.cpp index 6fa521fca..ec112de42 100644 --- a/frame/controller/dockpluginscontroller.cpp +++ b/frame/controller/dockpluginscontroller.cpp @@ -12,7 +12,7 @@ DockPluginsController::DockPluginsController(DockItemController *itemControllerI { qApp->installEventFilter(this); - QMetaObject::invokeMethod(this, "startLoader", Qt::QueuedConnection); + QTimer::singleShot(1, this, &DockPluginsController::startLoader); } DockPluginsController::~DockPluginsController() @@ -94,7 +94,7 @@ void DockPluginsController::startLoader() connect(loader, &DockPluginLoader::finished, loader, &DockPluginLoader::deleteLater, Qt::QueuedConnection); connect(loader, &DockPluginLoader::pluginFounded, this, &DockPluginsController::loadPlugin, Qt::QueuedConnection); - loader->start(QThread::LowestPriority); + QTimer::singleShot(1, loader, [=] { loader->start(QThread::LowestPriority); }); } void DockPluginsController::displayModeChanged() diff --git a/plugins/datetime/datetimeplugin.cpp b/plugins/datetime/datetimeplugin.cpp index 2d5bf56a7..8db6673ec 100644 --- a/plugins/datetime/datetimeplugin.cpp +++ b/plugins/datetime/datetimeplugin.cpp @@ -37,6 +37,7 @@ const QString DatetimePlugin::pluginName() const void DatetimePlugin::init(PluginProxyInterface *proxyInter) { m_proxyInter = proxyInter; + m_proxyInter->itemAdded(this, QString()); }