summaryrefslogtreecommitdiff
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
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.
-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);
}
}