David Edmundson has uploaded a new change for review. https://gerrit.vesnicky.cesnet.cz/r/215
Change subject: Save SVGs only when a theme is unloaded, not on each theme proxy ...................................................................... Save SVGs only when a theme is unloaded, not on each theme proxy A single Plasma theme will be represented by one ThemePrivate object, which is exported in multiple Theme objects. We want to save the cache when that theme stops being used, not each time an item stops using the theme. saveSvgElementsCache calls sync() which involves a lot of parsing and IO. This makes everything a lot faster at no cost. Change-Id: Ica6ba0273bc99fb8ad8733a1c90db8f1e87c49ea --- M src/plasma/private/theme_p.cpp M src/plasma/theme.cpp 2 files changed, 3 insertions(+), 4 deletions(-) git pull ssh://gerrit.vesnicky.cesnet.cz:29418/plasma-framework refs/changes/15/215/1 diff --git a/src/plasma/private/theme_p.cpp b/src/plasma/private/theme_p.cpp index b9c2a55..1963f74 100644 --- a/src/plasma/private/theme_p.cpp +++ b/src/plasma/private/theme_p.cpp @@ -115,7 +115,8 @@ ThemePrivate::~ThemePrivate() { - if (FrameSvgPrivate::s_sharedFrames.contains(this)) { + saveSvgElementsCache(); + if (FrameSvgPrivate::s_sharedFrames.contains(this)) { foreach (FrameData *data, FrameSvgPrivate::s_sharedFrames[this].values()) { delete data; } @@ -633,7 +634,7 @@ break; } } - + switch (role) { diff --git a/src/plasma/theme.cpp b/src/plasma/theme.cpp index ba4e9e8..18d4ed6 100644 --- a/src/plasma/theme.cpp +++ b/src/plasma/theme.cpp @@ -91,8 +91,6 @@ Theme::~Theme() { - d->saveSvgElementsCache(); - if (d == ThemePrivate::globalTheme) { if (!ThemePrivate::globalThemeRefCount.deref()) { disconnect(ThemePrivate::globalTheme, 0, this, 0); -- To view, visit https://gerrit.vesnicky.cesnet.cz/r/215 To unsubscribe, visit https://gerrit.vesnicky.cesnet.cz/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ica6ba0273bc99fb8ad8733a1c90db8f1e87c49ea Gerrit-PatchSet: 1 Gerrit-Project: plasma-framework Gerrit-Branch: master Gerrit-Owner: David Edmundson <da...@davidedmundson.co.uk> Gerrit-Reviewer: Aaron J. Seigo <ase...@kde.org> Gerrit-Reviewer: Marco Martin <notm...@gmail.com> _______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel