Bugfix: commit of last week that moved object_handle_update() out
of the view3d code into event loop caused render to crash. This
update should not be called during render. In future it'll even
be thread-locked or better; solved by giving objects an 'owner'
for storage of updates.

This solves a lot of crashes on render.
This commit is contained in:
2009-02-25 09:36:25 +00:00
parent d9862517fb
commit 669dd229f4

View File

@@ -218,18 +218,20 @@ void wm_event_do_notifiers(bContext *C)
}
}
/* update all objects, ipos, matrices, displists, etc. Flags set by depgraph or manual,
no layer check here, gets correct flushed */
/* sets first, we allow per definition current scene to have dependencies on sets */
if(scene->set) {
for(SETLOOPER(scene->set, base))
if(G.rendering==0) { // XXX make lock in future, or separated derivedmesh users in scene
/* update all objects, ipos, matrices, displists, etc. Flags set by depgraph or manual,
no layer check here, gets correct flushed */
/* sets first, we allow per definition current scene to have dependencies on sets */
if(scene->set) {
for(SETLOOPER(scene->set, base))
object_handle_update(scene, base->object);
}
for(base= scene->base.first; base; base= base->next) {
object_handle_update(scene, base->object);
}
for(base= scene->base.first; base; base= base->next) {
object_handle_update(scene, base->object);
}
}
}
}
CTX_wm_window_set(C, NULL);
}