[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19109] branches/blender2.5/blender/source /blender/windowmanager/intern/wm_event_system.c: 2.5
Ton Roosendaal
ton at blender.org
Wed Feb 25 10:36:26 CET 2009
Revision: 19109
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19109
Author: ton
Date: 2009-02-25 10:36:25 +0100 (Wed, 25 Feb 2009)
Log Message:
-----------
2.5
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.
Modified Paths:
--------------
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c
Modified: branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c
===================================================================
--- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c 2009-02-25 06:43:03 UTC (rev 19108)
+++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c 2009-02-25 09:36:25 UTC (rev 19109)
@@ -218,18 +218,20 @@
}
}
- /* 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);
}
More information about the Bf-blender-cvs
mailing list