From 09b50badb1de4e24046ffe303f6c6f5cf99d52b8 Mon Sep 17 00:00:00 2001 From: Marc-Andre Ferland Date: Mon, 10 Oct 2022 22:28:34 -0400 Subject: [PATCH] Fix removing old tasks stopping the current render. --- ui/media/main.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/ui/media/main.js b/ui/media/main.js index 864d6c4a..6764db77 100644 --- a/ui/media/main.js +++ b/ui/media/main.js @@ -637,23 +637,25 @@ async function checkTasks() { const genSeeds = Boolean(typeof task.reqBody.seed !== 'number' || (task.reqBody.seed === task.seed && task.numOutputsTotal > 1)) const startSeed = task.reqBody.seed || task.seed for (let i = 0; i < task.batchCount; i++) { + let newTask = task; if (task.batchCount > 1) { // Each output render batch needs it's own task instance to avoid altering the other runs after they are completed. - task = Object.assign({}, task, { + newTask = Object.assign({}, task, { reqBody: Object.assign({}, task.reqBody) }) } if (genSeeds) { - task.reqBody.seed = startSeed + (i * task.reqBody.num_outputs) - task.seed = task.reqBody.seed - } else if (task.seed !== task.reqBody.seed) { - task.seed = task.reqBody.seed + newTask.reqBody.seed = startSeed + (i * newTask.reqBody.num_outputs) + newTask.seed = newTask.reqBody.seed + } else if (newTask.seed !== newTask.reqBody.seed) { + newTask.seed = newTask.reqBody.seed } - let success = await doMakeImage(task) + let success = await doMakeImage(newTask) task.batchesDone++ - if (!task.isProcessing) { + if (!newTask.isProcessing) { + task.isProcessing = false break }