diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-05-15 01:42:51 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-05-15 01:59:31 +0300 |
commit | 4e46ed37fc5939d733001ba8ce17bd46e500839b (patch) | |
tree | 3c7a4c9f1d4a554dc885ebf707c4b01b23996fa7 /intern/cycles/render/image.cpp | |
parent | c29ed65f03c480022ec8d4b98355ffc0ca82fb80 (diff) |
Fix T64618: Cycles crash with point density texture on Windows
A better solution would be to not use the callback mechanism anymore for
cases like this where the dependency graph will free volume data, but
that would be a bigger refactor.
Diffstat (limited to 'intern/cycles/render/image.cpp')
-rw-r--r-- | intern/cycles/render/image.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/intern/cycles/render/image.cpp b/intern/cycles/render/image.cpp index cf1c5fbb446..431e9230cb4 100644 --- a/intern/cycles/render/image.cpp +++ b/intern/cycles/render/image.cpp @@ -412,6 +412,17 @@ int ImageManager::add_image(const string &filename, return type_index_to_flattened_slot(slot, type); } +void ImageManager::add_image_user(int flat_slot) +{ + ImageDataType type; + int slot = flattened_slot_to_type_index(flat_slot, &type); + + Image *image = images[type][slot]; + assert(image && image->users >= 1); + + image->users++; +} + void ImageManager::remove_image(int flat_slot) { ImageDataType type; |