From 3b2674023c1b98dbdca979dca7335a663af8715d Mon Sep 17 00:00:00 2001 From: ComixHe Date: Wed, 6 Mar 2024 16:33:25 +0800 Subject: [PATCH] fix: the signal is triggered repeatedly Signed-off-by: ComixHe --- src/dbus/applicationmanager1service.cpp | 5 +++-- src/dbus/applicationservice.cpp | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/dbus/applicationmanager1service.cpp b/src/dbus/applicationmanager1service.cpp index c2748b0..61935af 100644 --- a/src/dbus/applicationmanager1service.cpp +++ b/src/dbus/applicationmanager1service.cpp @@ -599,7 +599,7 @@ void ApplicationManager1Service::updateApplication(const QSharedPointerm_entry != newEntry) { + if (*(destApp->m_entry) != *newEntry) { destApp->resetEntry(newEntry); destApp->detachAllInstance(); } @@ -620,7 +620,8 @@ void ApplicationManager1Service::ReloadApplications() m_reloadTimer.start(); - const auto &desktopFileDirs = getDesktopFileDirs(); + auto desktopFileDirs = getDesktopFileDirs(); + desktopFileDirs.append(getAutoStartDirs()); // detect autostart apps add/remove/update auto apps = m_applicationList.keys(); diff --git a/src/dbus/applicationservice.cpp b/src/dbus/applicationservice.cpp index 59dfa04..0f29058 100644 --- a/src/dbus/applicationservice.cpp +++ b/src/dbus/applicationservice.cpp @@ -893,6 +893,7 @@ void ApplicationService::resetEntry(DesktopEntry *newEntry) noexcept emit MimeTypesChanged(); emit terminalChanged(); emit scaleFactorChanged(); + emit launchedTimesChanged(); } std::optional ApplicationService::unescapeExecArgs(const QString &str) noexcept