diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-04-13 14:52:37 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-04-16 11:18:43 +0300 |
commit | 6617818c7a1f5729763aa214866b5d7dc0358f36 (patch) | |
tree | f16a5cc040fd13f1320ff89578b425662407330a /source/blender/blenkernel/BKE_icons.h | |
parent | 5bfe6126f8bd7cd59bafd90658a12c19687a26fb (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.h | 3 |
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); |