diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-01-24 23:25:52 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-01-24 23:25:52 +0300 |
commit | d631252109bea2e69dae67686b1b8611b52a670d (patch) | |
tree | 1a6db70fe925bc4e5dcc9f4fc78f712fd613b440 /source/blender/editors/space_image | |
parent | a224ee00f5593bb4cce4beb3803eddfc05e82a6a (diff) |
Fix lock release deadlock when acquiring pass with no data ready yet
There is no reason to do separate image buffer release when there's
found buffer but with empty rects because of the following reasons:
- All the acquire() calls are followed with corresponding release()
calls, regardless of whether image buffer was empty, missing or
whatever.
- It was done wrong -- since lock was passed as NULL, it'll only
de-reference the image buffer itself, this causes following:
* Wrong user counter since there'll subsequent release() call with
the proper lock passed to it.
* Global locks are to be released prior to the spin locks,
and such an extra release violated this rule.
Diffstat (limited to 'source/blender/editors/space_image')
-rw-r--r-- | source/blender/editors/space_image/image_edit.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/source/blender/editors/space_image/image_edit.c b/source/blender/editors/space_image/image_edit.c index 35834857423..e48f4e24c34 100644 --- a/source/blender/editors/space_image/image_edit.c +++ b/source/blender/editors/space_image/image_edit.c @@ -119,8 +119,6 @@ ImBuf *ED_space_image_acquire_buffer(SpaceImage *sima, void **r_lock) if (ibuf) { if (ibuf->rect || ibuf->rect_float) return ibuf; - - BKE_image_release_ibuf(sima->image, ibuf, NULL); } } else |