summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorMichael J. Chudobiak <mjc@svn.gnome.org>2008-04-09 16:53:59 +0000
committerMichael J. Chudobiak <mjc@src.gnome.org>2008-04-09 16:53:59 +0000
commitb778e4851d8559526bbfe44adb67c6364b1ea076 (patch)
treed6e1fac125fb4ccc67607fd2e01f36ed98ea9aaa /plugins
parent6cfb6a87ba5bebfad5607f2ca9f3c5c9de34e267 (diff)
downloadgnome-settings-daemon-b778e4851d8559526bbfe44adb67c6364b1ea076.tar.gz
Purge thumbnail cache on shutdown if and only if the max size or max age
2008-04-09 Michael J. Chudobiak <mjc@svn.gnome.org> * plugins/housekeeping/gsd-housekeeping-manager.c: (gsd_housekeeping_manager_stop): Purge thumbnail cache on shutdown if and only if the max size or max age parameters have been set to zero (for paranoid people). svn path=/trunk/; revision=277
Diffstat (limited to 'plugins')
-rw-r--r--plugins/housekeeping/gsd-housekeeping-manager.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/plugins/housekeeping/gsd-housekeeping-manager.c b/plugins/housekeeping/gsd-housekeeping-manager.c
index f2820fb9..748c53db 100644
--- a/plugins/housekeeping/gsd-housekeeping-manager.c
+++ b/plugins/housekeeping/gsd-housekeeping-manager.c
@@ -322,16 +322,22 @@ gsd_housekeeping_manager_stop (GsdHousekeepingManager *manager)
{
g_debug ("Stopping housekeeping manager");
- if (manager->priv->long_term_cb) {
- g_source_remove (manager->priv->long_term_cb);
- manager->priv->long_term_cb = 0;
- }
-
if (manager->priv->short_term_cb) {
g_source_remove (manager->priv->short_term_cb);
manager->priv->short_term_cb = 0;
}
+ if (manager->priv->long_term_cb) {
+ g_source_remove (manager->priv->long_term_cb);
+ manager->priv->long_term_cb = 0;
+
+ /* Do a clean-up on shutdown if and only if the size or age
+ limits have been set to paranoid levels (zero) */
+ if ((get_gconf_int_with_default (GCONF_THUMB_AGE, DEFAULT_MAX_AGE_IN_DAYS) == 0) ||
+ (get_gconf_int_with_default (GCONF_THUMB_SIZE, DEFAULT_MAX_SIZE_IN_MB) == 0)) {
+ do_cleanup (manager);
+ }
+ }
}