diff --git a/src/plasma/configloader.cpp b/src/plasma/configloader.cpp index 749c0bcdd..d6532fa22 100644 --- a/src/plasma/configloader.cpp +++ b/src/plasma/configloader.cpp @@ -66,6 +66,8 @@ private: void ConfigLoaderPrivate::parse(ConfigLoader *loader, QIODevice *xml) { + clearData(); + loader->clearItems(); QXmlInputSource source(xml); QXmlSimpleReader reader; ConfigLoaderHandler handler(loader, this); diff --git a/src/plasma/private/configloader_p.h b/src/plasma/private/configloader_p.h index a51ac4d6c..15a7703ec 100644 --- a/src/plasma/private/configloader_p.h +++ b/src/plasma/private/configloader_p.h @@ -34,6 +34,11 @@ class ConfigLoaderPrivate } ~ConfigLoaderPrivate() + { + clearData(); + } + + void clearData() { qDeleteAll(bools); qDeleteAll(strings);