From 6617818c7a1f5729763aa214866b5d7dc0358f36 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Fri, 13 Apr 2018 13:52:37 +0200 Subject: 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 --- source/blender/blenkernel/BKE_icons.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'source/blender/blenkernel/BKE_icons.h') 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); -- cgit v1.2.3