diff options
author | Michael J. Chudobiak <mjc@svn.gnome.org> | 2008-04-09 16:53:59 +0000 |
---|---|---|
committer | Michael J. Chudobiak <mjc@src.gnome.org> | 2008-04-09 16:53:59 +0000 |
commit | b778e4851d8559526bbfe44adb67c6364b1ea076 (patch) | |
tree | d6e1fac125fb4ccc67607fd2e01f36ed98ea9aaa /plugins | |
parent | 6cfb6a87ba5bebfad5607f2ca9f3c5c9de34e267 (diff) | |
download | gnome-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.c | 16 |
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); + } + } } |