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.
This commit is contained in:
2007-02-28 17:50:15 +00:00
parent f6ebfd6f80
commit b58d1f9ba0

View File

@@ -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