diff options
author | Ton Roosendaal <ton@blender.org> | 2005-09-24 13:05:48 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2005-09-24 13:05:48 +0400 |
commit | 6b33e12b90bbadef879099dd0dd3062857b273c9 (patch) | |
tree | b61a324afa4f898280fde1e7a001bec7ddc12c56 /source/blender/src/headerbuttons.c | |
parent | 4fb0cccc68efabe264e9139f980cd67fd29980f3 (diff) |
Bug fix #3094
Playback of sequencer sound crashed in combination with dupliverted
Objects. (confirmed in osx only btw).
Found out there's old not-needed code in the update_for_newframe() call,
that was intended to do updates for Manipulators (calling countall()).
In countall(), the entire duplilists were generated over, just for
counting the totals.
First step was removing the countall from update_for_newframe, and added
a count_duplilist() call which doesn't generate the full duplilist. That
made Blender not crashing anymore, but gives "Error totblock", without
printing the block names even...
The weird thing also was that the crash showed severe memory corruption in
the malloc library, when combining audio scrubbing (SDL) and duplilists.
I now suspect there's a remaining issue with DerivedMesh, but for that I
need help from Daniel.
Diffstat (limited to 'source/blender/src/headerbuttons.c')
-rw-r--r-- | source/blender/src/headerbuttons.c | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/source/blender/src/headerbuttons.c b/source/blender/src/headerbuttons.c index 05fde92f7a0..3023c2347fb 100644 --- a/source/blender/src/headerbuttons.c +++ b/source/blender/src/headerbuttons.c @@ -497,17 +497,7 @@ static void do_update_for_newframe(int mute, int events) /* this function applies the changes too */ scene_update_for_newframe(G.scene, G.vd?G.vd->lay:G.scene->lay); /* BKE_scene.h */ - - /* manipulators like updates too */ - for(sa=G.curscreen->areabase.first; sa; sa=sa->next) { - if(sa->spacetype==SPACE_VIEW3D) { - View3D *v3d= sa->spacedata.first; - if(v3d->twflag & V3D_USE_MANIPULATOR) break; - else break; // for now - } - } - if(sa) countall(); // does manipulator centers - + if ( (CFRA>1) && (!mute) && (G.scene->audio.flag & AUDIO_SCRUB)) audiostream_scrub( CFRA ); } |