diff --git a/plugins/workflow.cpp b/plugins/workflow.cpp index e8ac9a4cc..4306c3431 100644 --- a/plugins/workflow.cpp +++ b/plugins/workflow.cpp @@ -829,7 +829,9 @@ static void guess_job_material(df::job *job, MaterialInfo &mat, df::dfhack_mater } // Material from the job reagent - if (!mat.isValid() && job->job_items.size() == 1) + if (!mat.isValid() && !job->job_items.empty() && + (job->job_items.size() == 1 || + job->job_items[0]->item_type == item_type::PLANT)) { mat.decode(job->job_items[0]); @@ -899,9 +901,6 @@ static void compute_job_outputs(Core *c, ProtectedJob *pj) break; #define PLANT_PROCESS_MAT(flag, tag) \ - if (!mat.isValid() && !job->job_items.empty()\ - && job->job_items[0]->item_type == item_type::PLANT) \ - mat.decode(job->job_items[0]); \ if (mat.plant && mat.plant->flags.is_set(plant_raw_flags::flag)) \ mat.decode(mat.plant->material_defs.type_##tag, \ mat.plant->material_defs.idx_##tag); \