diff --git a/applets/systemtray/package/contents/ui/items/ItemLoader.qml b/applets/systemtray/package/contents/ui/items/ItemLoader.qml --- a/applets/systemtray/package/contents/ui/items/ItemLoader.qml +++ b/applets/systemtray/package/contents/ui/items/ItemLoader.qml @@ -30,6 +30,7 @@ } else if (model.itemType === "StatusNotifier") { return "StatusNotifierItem.qml" } + console.warn("SystemTray ItemLoader: Invalid state, cannot determine source!") return "" } } diff --git a/applets/systemtray/systemtraymodel.cpp b/applets/systemtray/systemtraymodel.cpp --- a/applets/systemtray/systemtraymodel.cpp +++ b/applets/systemtray/systemtraymodel.cpp @@ -206,15 +206,17 @@ }); dataItem->setData(pluginMetaData.pluginId(), static_cast(BaseModel::BaseRole::ItemId)); - dataItem->setData(true, static_cast(BaseModel::BaseRole::CanRender)); dataItem->setData(plasmoidCategoryForMetadata(pluginMetaData), static_cast(BaseModel::BaseRole::Category)); dataItem->setData(applet->status(), static_cast(BaseModel::BaseRole::Status)); connect(applet, &Plasma::Applet::statusChanged, this, [dataItem] (Plasma::Types::ItemStatus status) { dataItem->setData(status, static_cast(BaseModel::BaseRole::Status)); }); dataItem->setData(applet->property("_plasma_graphicObject"), static_cast(Role::Applet)); dataItem->setData(true, static_cast(Role::HasApplet)); + + // CanRender has to be the last one + dataItem->setData(true, static_cast(BaseModel::BaseRole::CanRender)); } void PlasmoidModel::removeApplet(Plasma::Applet *applet)