summaryrefslogtreecommitdiff
path: root/libmate-desktop/mate-bg.c
diff options
context:
space:
mode:
authorColomban Wendling <[email protected]>2022-11-07 11:57:51 +0100
committerraveit65 <[email protected]>2023-03-15 18:56:41 +0100
commit6fcc78cd8e5aa807fa9d254d2e61a302096559cf (patch)
tree6813a4a6650fba82e6929a081b7c43a97a470b59 /libmate-desktop/mate-bg.c
parent7f9225f08b84d58ccddbc88c7c4cc176c151fdb9 (diff)
downloadmate-desktop-6fcc78cd8e5aa807fa9d254d2e61a302096559cf.tar.bz2
mate-desktop-6fcc78cd8e5aa807fa9d254d2e61a302096559cf.tar.xz
Revert "[mate-bg] small cleanup"
It is not possible to use the `list` pointer after it has been deleted, so the "cleanup" this commit made lead to using freed memory if any item actually got clean up. This "cleanup" also don't seem meaningful to me, as all it does otherwise is trade an assignation for a redundant test -- either of which the compiler might happily optimize out. This reverts commit 47426c90d10e9f738ecf89f35db94ca8deff55e0.
Diffstat (limited to 'libmate-desktop/mate-bg.c')
-rw-r--r--libmate-desktop/mate-bg.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/libmate-desktop/mate-bg.c b/libmate-desktop/mate-bg.c
index 62cc5e5..5cf2daf 100644
--- a/libmate-desktop/mate-bg.c
+++ b/libmate-desktop/mate-bg.c
@@ -2016,19 +2016,18 @@ static gboolean
blow_expensive_caches (gpointer data)
{
MateBG *bg = data;
- GList *list;
+ GList *list, *next;
bg->blow_caches_id = 0;
- if (bg->file_cache) {
- for (list = bg->file_cache; list != NULL; list = list->next) {
- FileCacheEntry *ent = list->data;
+ for (list = bg->file_cache; list != NULL; list = next) {
+ FileCacheEntry *ent = list->data;
+ next = list->next;
- if (ent->type == PIXBUF) {
- file_cache_entry_delete (ent);
- bg->file_cache = g_list_delete_link (bg->file_cache,
- list);
- }
+ if (ent->type == PIXBUF) {
+ file_cache_entry_delete (ent);
+ bg->file_cache = g_list_delete_link (bg->file_cache,
+ list);
}
}