From 85269ffd3b602ddf8c447ea283f4e7c10c4b4562 Mon Sep 17 00:00:00 2001 From: Marco Martin Date: Wed, 20 May 2026 11:45:40 +0200 Subject: [PATCH] Applet: bookeeping of applet's uiReady When a containment adds an applet, it should put it in loadingApplets only if the applet's ui is not ready, not its own. This is actually a Plasma 6 porting issue and the problem is being present for all Plasma 6 releases so far. BUG:512005 (cherry picked from commit db10a9d15ab056c8c6d82ecd69ff7614ae616d38) c09707b4 Applet: bookeeping of applet's uiReady Co-authored-by: Marco Martin --- src/plasma/containment.cpp | 3 ++- src/plasma/private/applet_p.cpp | 1 + src/plasma/private/applet_p.h | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/plasma/containment.cpp b/src/plasma/containment.cpp index 6185f683f..6cb03c772 100644 --- a/src/plasma/containment.cpp +++ b/src/plasma/containment.cpp @@ -419,7 +419,8 @@ void Containment::addApplet(Applet *applet, const QRectF &geometryHint) Q_EMIT appletAboutToBeAdded(applet, geometryHint); d->applets.insert(position, applet); - if (!d->uiReady) { + // We need to check Applet's ui readiness, not ours + if (!applet->d->uiReady) { d->loadingApplets << applet; } diff --git a/src/plasma/private/applet_p.cpp b/src/plasma/private/applet_p.cpp index 4b3c9ec97..324d41f19 100644 --- a/src/plasma/private/applet_p.cpp +++ b/src/plasma/private/applet_p.cpp @@ -423,6 +423,7 @@ void AppletPrivate::propagateConfigChanged() void AppletPrivate::setUiReady() { + uiReady = true; // If we a re a containment, call setUiReady Containment *thisContainment = qobject_cast(q); if (thisContainment && thisContainment->isContainment()) { diff --git a/src/plasma/private/applet_p.h b/src/plasma/private/applet_p.h index ec1b073b7..f114abb85 100644 --- a/src/plasma/private/applet_p.h +++ b/src/plasma/private/applet_p.h @@ -118,6 +118,7 @@ public: bool globalShortcutEnabled : 1; bool userConfiguring : 1; bool busy : 1; + bool uiReady : 1 = false; }; } // Plasma namespace -- 2.54.0