From 7a09a3a652a7919b48f564e397682272f87e3da1 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Fri, 10 May 2024 12:39:39 +0300 Subject: [PATCH] plasma: temporary disconnect bookmark manager signals the first time launcher applet is created fixes deadlock since bb574694b100f58c1296c47aa03985e4674bfaac Signed-off-by: Ivailo Monev --- plasma/applets/launcher/launcher.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/plasma/applets/launcher/launcher.cpp b/plasma/applets/launcher/launcher.cpp index f7557fa8..02a84cad 100644 --- a/plasma/applets/launcher/launcher.cpp +++ b/plasma/applets/launcher/launcher.cpp @@ -754,6 +754,14 @@ void LauncherFavorites::slotUpdateLayout() kWarning() << "invalid first-time serivce" << name; } } + disconnect( + m_bookmarkmanager, SIGNAL(changed(QString,QString)), + this, SLOT(slotUpdateLayout()) + ); + disconnect( + m_bookmarkmanager, SIGNAL(bookmarksChanged(QString)), + this, SLOT(slotUpdateLayout()) + ); m_bookmarkmanager->emitChanged(bookmarkgroup); } @@ -799,6 +807,18 @@ void LauncherFavorites::slotUpdateLayout() ); bookmark = bookmarkgroup.next(bookmark); } + + if (isfirsttime) { + locker.unlock(); + connect( + m_bookmarkmanager, SIGNAL(changed(QString,QString)), + this, SLOT(slotUpdateLayout()) + ); + connect( + m_bookmarkmanager, SIGNAL(bookmarksChanged(QString)), + this, SLOT(slotUpdateLayout()) + ); + } } void LauncherFavorites::slotActivated()