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.

svn path=/branches/KDE/4.4/kdelibs/; revision=1071438
This commit is contained in:
Aaron J. Seigo 2010-01-08 02:03:55 +00:00
parent 5c1a69f05f
commit fb8898f328

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!";