blender/intern
Sergey Sharybin eb016eb3ae Fix T41258: Crash when entering edit mode while viewport render is enabled
The issue was caused by the render engine loading edit mesh, which re-allocates
mesh array which might be referenced by other object's derived meshed.

Worst thing about this is that updating render engine happens from the end of
scene update function, after all the objects are updated and so. This is needed
so render engine gets the update objects which is correct.

The only proper way to solve the issue is to make it so viewport engine does not
leave objects in inconsistent state, meaning nobody will reference to freed data.

In order to reach this we do edit mesh loading before running objects update so
all the objects which uses that mesh will have proper references in the derived
mesh.

This also solves old creepyness which happened before when having single object
in edit mode. tweaking it will calculate derived mesh as a part of scene update,
then this derived mesh will be freed by edit mesh loading and viewport will be
creating derived mesh again.

Now render engine is expected to do nothing with meshes which are in edit mode,
but they still need to load edit data for non0meshes. It's not really easy to
do from the BKE level because needed functions are implemented in the editor.

Thanks Campbell for the review!

Differential Revision: https://developer.blender.org/D697
2014-07-31 20:25:11 +06:00
..
atomic Fix atomix operations on unofficial 64bit archs 2014-07-25 12:26:10 +06:00
audaspace Bugfix T41133: Audio: Speakers with animated pitch cause clicks in rendered animations, crashes or huge filesizes in rendered audio 2014-07-21 14:25:10 +02:00
container Rework carve integration into boolean modifier 2014-02-13 17:16:53 +06:00
cycles Fix T41258: Crash when entering edit mode while viewport render is enabled 2014-07-31 20:25:11 +06:00
dualcon quiet double-promotion warnings, change octree.cpp to use a float (vector accumulated into a float anyway) 2013-08-06 06:38:52 +00:00
elbeem CMake: correct include dirs 2014-07-01 09:36:28 +10:00
ffmpeg Fix video FFmpeg nt being able to produce video files due to usage of deprecated settings 2014-04-15 00:15:09 +06:00
ghost Style cleanup GHOST/Win32 2014-07-27 13:40:39 +10:00
guardedalloc Fix inconsistent use of print_error() and fprintf(stderr, ...) in MEM_guarded_printmemlist_internal(). 2014-07-25 19:24:24 +09:00
iksolver Code cleanup: white space and cmake was broken on all platforms 2014-02-03 13:56:34 +11:00
itasc Code cleanup: warnings 2014-07-20 00:38:52 +10:00
locale Code cleanup: don't use unnecessary .exe extension in scons, simplify code. 2014-04-29 14:03:08 +02:00
memutil Fix T37898: blenderplayer painfully slow in recent builds 2013-12-22 15:26:59 +06:00
mikktspace Style Cleanup: remove preprocessor indentation (updated wiki style guide too) 2013-12-22 14:12:19 +11:00
moto BGE: TrackTo actuator: increasing up & track axis options 2014-07-14 18:30:27 -07:00
opencl Possible fix for [#36086] Activating the opencl option in the compositor causes blender crash 2013-07-17 12:57:03 +00:00
opencolorio Report to the console when custom ocio config is used 2014-05-23 13:48:35 +02:00
opennl remove duplicate sys-types headers. 2013-05-29 21:38:23 +00:00
raskter code cleanup: use NULL rather then 0 for pointers, and make vars static where possible. 2013-03-22 05:34:10 +00:00
rigidbody Code cleanup 2014-07-18 11:55:59 +10:00
smoke CMake: correct include dirs 2014-07-01 09:36:28 +10:00
string fix for buffer out-of-bounds reading for STR_String comparisons with char arrays. 2013-03-22 21:26:59 +00:00
utfconv Warning cleanup: 2014-03-22 14:41:38 +02:00
CMakeLists.txt Rework carve integration into boolean modifier 2014-02-13 17:16:53 +06:00
SConscript Totally remove BSP from SConscript 2014-02-19 15:46:44 +06:00