diff --git a/src/plasma/private/containment_p.cpp b/src/plasma/private/containment_p.cpp index a72bb561f..ea1662abc 100644 --- a/src/plasma/private/containment_p.cpp +++ b/src/plasma/private/containment_p.cpp @@ -118,11 +118,11 @@ void ContainmentPrivate::checkStatus(Plasma::Types::ItemStatus appletStatus) return; } - if (appletStatus < q->status()) { - // check to see if any other applet has a higher status, and stick with that - // if we do + if (appletStatus < q->status() || appletStatus == Plasma::Types::HiddenStatus) { + // check to see if any other applet has a higher status, and stick with that if we do + // we'll treat HiddenStatus as lowest as we cannot change the enum value which is highest anymore foreach (Applet *applet, applets) { - if (applet->status() > appletStatus) { + if (applet->status() > appletStatus && applet->status() != Plasma::Types::HiddenStatus) { appletStatus = applet->status(); } }