Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.3:Update
libfm
libfm-1.2.3-Fix-SF919.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File libfm-1.2.3-Fix-SF919.patch of Package libfm
From e6d3530a5de8574b160638b11fa54db7e581d6c3 Mon Sep 17 00:00:00 2001 From: Andriy Grytsenko <andrej@rep.kiev.ua> Date: Sat, 13 Jun 2015 19:54:17 +0300 Subject: [PATCH] [SF#919] Fix incomplete cleanup on folder reloading. This should never cause any problems but it might in some rare circumstances. --- diff --git a/src/base/fm-folder.c b/src/base/fm-folder.c index c2f0b33..83af1fd 100644 --- a/src/base/fm-folder.c +++ b/src/base/fm-folder.c @@ -1107,6 +1107,31 @@ void fm_folder_reload(FmFolder* folder) folder->dir_fi = NULL; } + /* clear all update-lists now, see SF bug #919 - if update comes before + listing job is finished, a duplicate may be created in the folder */ + if (folder->idle_handler) + { + g_source_remove(folder->idle_handler); + folder->idle_handler = 0; + if (folder->files_to_add) + { + g_slist_foreach(folder->files_to_add, (GFunc)fm_path_unref, NULL); + g_slist_free(folder->files_to_add); + folder->files_to_add = NULL; + } + if (folder->files_to_update) + { + g_slist_foreach(folder->files_to_update, (GFunc)fm_path_unref, NULL); + g_slist_free(folder->files_to_update); + folder->files_to_update = NULL; + } + if (folder->files_to_del) + { + g_slist_free(folder->files_to_del); + folder->files_to_del = NULL; + } + } + /* remove all items and re-run a dir list job. */ GList* l = fm_file_info_list_peek_head_link(folder->files); -- 2.1.4
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor