Fix T51416: Blender Crashes while moving Sliders
authorSergey Sharybin <sergey.vfx@gmail.com>
Wed, 13 Sep 2017 15:12:19 +0000 (20:12 +0500)
committerSergey Sharybin <sergey.vfx@gmail.com>
Thu, 14 Sep 2017 12:03:40 +0000 (17:03 +0500)
commit7aafa32c09bb93b44f746743b67735b1ae73ab21
treeab48f8aedafff6e6887d0141034c9cf8a32dedc4
parentff7940640433d65ef3fc9e4662ffc8a171b4a07b
Fix T51416: Blender Crashes while moving Sliders

The issue here was that removing datablock from main database will poke editors
update, which includes buttons context to free users of texture. Since Cycles
will free datablocks from job thread, it might crash Blender since main thread
might be in the middle of drawing.

Solved by exposing extra arguments to bpy.data.foo.remove() which indicates
whether we want to perform ID user count and interface updates. While scripts
shouldn't be using those normally, this is the only way to allow Cycles to skip
interface update when removing datablock.

Reviewers: mont29

Reviewed By: mont29

Differential Revision: https://developer.blender.org/D2840
intern/cycles/blender/blender_mesh.cpp
source/blender/makesrna/intern/rna_main_api.c