- g_free (pixbuf_cache->prev_job);
- g_free (pixbuf_cache->job_list);
- g_free (pixbuf_cache->next_job);
+ if (pixbuf_cache->job_list) {
+ g_slice_free1 (sizeof (CacheJobInfo) * pixbuf_cache->job_list_len,
+ pixbuf_cache->job_list);
+ pixbuf_cache->job_list = NULL;
+ }
+ if (pixbuf_cache->prev_job) {
+ g_slice_free1 (sizeof (CacheJobInfo) * pixbuf_cache->preload_cache_size,
+ pixbuf_cache->prev_job);
+ pixbuf_cache->prev_job = NULL;
+ }
+ if (pixbuf_cache->next_job) {
+ g_slice_free1 (sizeof (CacheJobInfo) * pixbuf_cache->preload_cache_size,
+ pixbuf_cache->next_job);
+ pixbuf_cache->next_job = NULL;
+ }