diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2007-02-28 20:50:15 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2007-02-28 20:50:15 +0300 |
commit | b58d1f9ba05c56310a1067b25d502b84c7cd0021 (patch) | |
tree | e690e17b6bcbd1dbd6a26e56b462801c60b5112a /source | |
parent | f6ebfd6f806e152476c872e265c5c0713015f4f0 (diff) |
Fix for bug #6136:
Yafray rendering with 2 or cameras linked crashes. Iterating over and
erasing from STL map at the same time wasn't being done correct.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/yafray/intern/yafray_Render.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/source/blender/yafray/intern/yafray_Render.cpp b/source/blender/yafray/intern/yafray_Render.cpp index 01ab49c001b..1106e197335 100644 --- a/source/blender/yafray/intern/yafray_Render.cpp +++ b/source/blender/yafray/intern/yafray_Render.cpp @@ -151,14 +151,17 @@ bool yafrayRender_t::getAllMatTexObs() // now remove any objects from dupliMtx_list which are not in the renderlist for (map<string, vector<float> >::iterator dL=dupliMtx_list.begin(); - dL!=dupliMtx_list.end();++dL) + dL!=dupliMtx_list.end();) { string ro_name = dL->first; if (renderobs.find(ro_name)==renderobs.end()) { cout << "Object " << ro_name << " not in renderlist, removing from dupliMtx_list" << endl; dL->second.clear(); + ++dL; dupliMtx_list.erase(ro_name); } + else + ++dL; } // in case dupliMtx_list not empty, make sure that there is at least one source object |