Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2018-04-13 14:52:37 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2018-04-16 11:18:43 +0300
commit6617818c7a1f5729763aa214866b5d7dc0358f36 (patch)
treef16a5cc040fd13f1320ff89578b425662407330a /source/blender/blenkernel/BKE_icons.h
parent5bfe6126f8bd7cd59bafd90658a12c19687a26fb (diff)
Make ID icons safe for deletion from threads
Added a lock-free deferred queue for deletion. Now if ID icon is requested to be freed from non-main thread, it will be added to the deferred list. Actual deletion will happen later from main thread. Currently actual deletion only happens next time BKE_icon_id_delete() is called, which might not be enough. But it's easy to enforce deferred deletion. Icons for preview images are not covered by deferred deletion yet. Reviewers: mont29 Differential Revision: https://developer.blender.org/D3146
Diffstat (limited to 'source/blender/blenkernel/BKE_icons.h')
-rw-r--r--source/blender/blenkernel/BKE_icons.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_icons.h b/source/blender/blenkernel/BKE_icons.h
index a9ca5cc8bbb..c3f5d7bf7c2 100644
--- a/source/blender/blenkernel/BKE_icons.h
+++ b/source/blender/blenkernel/BKE_icons.h
@@ -75,6 +75,9 @@ void BKE_icon_changed(const int icon_id);
/* free all icons */
void BKE_icons_free(void);
+/* free all icons marked for deferred deletion */
+void BKE_icons_deferred_free(void);
+
/* free the preview image for use in list */
void BKE_previewimg_freefunc(void *link);