# HG changeset patch # User LordOfWar # Date 2009-10-13 22:01:38 # Node ID 6a550a53b903c62583738e04f55f1601eab898e8 # Parent 779099b481d1189504a3525bd108231395ed0cfa updated createJobFromXML() diff --git a/src/server/distrend.c b/src/server/distrend.c --- a/src/server/distrend.c +++ b/src/server/distrend.c @@ -270,7 +270,7 @@ int prepare_distrenjob(struct distrenjob /* prepares all the frames by setting that status to "unassigned" */ counter2 = start_frame; - for(counter = 0; counter <= (end_frame- start_frame + 1); counter++){ + for(counter = 0; counter <= distrenjob->total_frames; counter++){ distrenjob->frameset[counter].num = counter2; distrenjob->frameset[counter].status = FRAMESETSTATUS_UNASSIGNED; @@ -652,15 +652,6 @@ struct distrenjob *createJobFromXML(int distrenjob->total_frames = atoi((char*)xmlGetProp(cur, (xmlChar*)"end_frame")) - start_frame + 1; distrenjob->output_format = (char*)xmlGetProp(cur, (xmlChar*)"output_format"); - counter2 = start_frame; - for(counter = 0; counter <= distrenjob->total_frames; counter++) - { - distrenjob->frameset[counter].num = counter2; - distrenjob->frameset[counter].status = FRAMESETSTATUS_UNASSIGNED; - - counter2++; - } - cur = cur->next; distrenjob->watchdog_forgiveness = atoi((char*)xmlNodeListGetString(doc, cur->xmlChildrenNode, 1)); @@ -676,6 +667,17 @@ struct distrenjob *createJobFromXML(int xmlFreeDoc(doc); + distrenjob->frameset = malloc(sizeof(struct frameset) * distrenjob->total_frames); + + // change the status of all frames to "unassigned" + counter2 = start_frame; + for(counter = 0; counter <= (end_frame- start_frame + 1); counter++){ + distrenjob->frameset[counter].num = counter2; + distrenjob->frameset[counter].status = FRAMESETSTATUS_UNASSIGNED; + + counter2++; + } + restoreJobState(distrenjob); return distrenjob; }