if the Applet requests config() before being added to a containment, but is nested in another Applet, it should still use the nest-Applet's config. i doubt it is a fix for 218064, but this is at least accurate and may address comment #15.

CCBUG:218064

svn path=/trunk/KDE/kdelibs/; revision=1071437
This commit is contained in:
Aaron J. Seigo 2010-01-08 02:02:43 +00:00
parent 4246f430ec
commit 30ec5b73bb

View File

@ -2749,17 +2749,16 @@ KConfigGroup *AppletPrivate::mainConfigGroup()
} else {
KConfigGroup appletConfig;
if (Containment *c = q->containment()) {
Plasma::Applet *parentApplet = qobject_cast<Applet *>(q->parent());
if (parentApplet && parentApplet != static_cast<Applet *>(c)) {
// this applet is nested inside another applet! use it's config
// as the parent group in the config
appletConfig = parentApplet->config();
} else {
// applet directly in a Containment, as usual
appletConfig = c->config();
}
Containment *c = q->containment();
Applet *parentApplet = qobject_cast<Applet *>(q->parent());
if (parentApplet && parentApplet != static_cast<Applet *>(c)) {
// this applet is nested inside another applet! use it's config
// as the parent group in the config
appletConfig = parentApplet->config();
appletConfig = KConfigGroup(&appletConfig, "Applets");
} else if (c) {
// applet directly in a Containment, as usual
appletConfig = c->config();
appletConfig = KConfigGroup(&appletConfig, "Applets");
} else {
kWarning() << "requesting config for" << q->name() << "without a containment!";