Fix render baking crashing on windows/mac. Problem was increased

max number of threads caused Blender to run out of stack space,
now just does dynamic allocation.
This commit is contained in:
Brecht Van Lommel 2010-03-09 16:34:28 +00:00
parent ad0e57a2a8
commit 69a486e038

@ -2627,7 +2627,7 @@ static void *do_bake_thread(void *bs_v)
/* returns 0 if nothing was handled */
int RE_bake_shade_all_selected(Render *re, int type, Object *actob, short *do_update)
{
BakeShade handles[BLENDER_MAX_THREADS];
BakeShade *handles;
ListBase threads;
Image *ima;
int a, vdone=0, usemask=0;
@ -2653,11 +2653,11 @@ int RE_bake_shade_all_selected(Render *re, int type, Object *actob, short *do_up
BLI_init_threads(&threads, do_bake_thread, re->r.threads);
handles= MEM_callocN(sizeof(BakeShade)*re->r.threads, "BakeShade");
/* get the threads running */
for(a=0; a<re->r.threads; a++) {
/* set defaults in handles */
memset(&handles[a], 0, sizeof(BakeShade));
handles[a].ssamp.shi[0].lay= re->scene->lay;
if (type==RE_BAKE_SHADOW) {
@ -2737,8 +2737,11 @@ int RE_bake_shade_all_selected(Render *re, int type, Object *actob, short *do_up
zbuf_free_span(handles[a].zspan);
MEM_freeN(handles[a].zspan);
}
MEM_freeN(handles);
BLI_end_threads(&threads);
return vdone;
}