Check for metadata validty in settingsFileChanged

settingsFileChanged is called if the plugin metadata file changes, and
reloads the theme if the version changes.

However, if the metadata file now doesn't exist we need to check before
calling .version() otherwise it will assert.

If it doesn't exist, we want to reload the theme so that it will load
the correct thing.

BUG: 372651
REVIEW: 129436
This commit is contained in:
David Edmundson 2016-11-22 10:43:57 +00:00 committed by David Edmundson
parent 783f26e628
commit 760fb53e7d

View File

@ -582,7 +582,7 @@ void ThemePrivate::settingsFileChanged(const QString &file)
qCDebug(LOG_PLASMA) << "settingsFile: " << file;
if (file == themeMetadataPath) {
const KPluginInfo pluginInfo(themeMetadataPath);
if (themeVersion != pluginInfo.version()) {
if (!pluginInfo.isValid() || themeVersion != pluginInfo.version()) {
scheduleThemeChangeNotification(SvgElementsCache);
}
} else if (file.endsWith(QLatin1String(themeRcFile))) {