|  |  | @ -172,9 +172,6 @@ DFhackCExport command_result plugin_onstatechange(color_ostream &out, state_chan | 
			
		
	
		
		
			
				
					
					|  |  |  |     case SC_MAP_LOADED: |  |  |  |     case SC_MAP_LOADED: | 
			
		
	
		
		
			
				
					
					|  |  |  |         cleanup_state(out); |  |  |  |         cleanup_state(out); | 
			
		
	
		
		
			
				
					
					|  |  |  |         init_state(out); |  |  |  |         init_state(out); | 
			
		
	
		
		
			
				
					
					|  |  |  |         out << "workflow: checking for existing job issues" << endl; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (fix_job_postings(&out)) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             out << "workflow: fixed job issues" << endl; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         break; |  |  |  |         break; | 
			
		
	
		
		
			
				
					
					|  |  |  |     case SC_MAP_UNLOADED: |  |  |  |     case SC_MAP_UNLOADED: | 
			
		
	
		
		
			
				
					
					|  |  |  |         cleanup_state(out); |  |  |  |         cleanup_state(out); | 
			
		
	
	
		
		
			
				
					|  |  | @ -439,7 +436,7 @@ static int fix_job_postings (color_ostream *out, bool dry_run) | 
			
		
	
		
		
			
				
					
					|  |  |  |             for (size_t i = 0; i < world->job_postings.size(); ++i) |  |  |  |             for (size_t i = 0; i < world->job_postings.size(); ++i) | 
			
		
	
		
		
			
				
					
					|  |  |  |             { |  |  |  |             { | 
			
		
	
		
		
			
				
					
					|  |  |  |                 df::world::T_job_postings *posting = world->job_postings[i]; |  |  |  |                 df::world::T_job_postings *posting = world->job_postings[i]; | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if (posting->job == job && i != job->posting_index) |  |  |  |                 if (posting->job == job && i != job->posting_index && !posting->flags.bits.dead) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 { |  |  |  |                 { | 
			
		
	
		
		
			
				
					
					|  |  |  |                     ++count; |  |  |  |                     ++count; | 
			
		
	
		
		
			
				
					
					|  |  |  |                     if (out) |  |  |  |                     if (out) | 
			
		
	
	
		
		
			
				
					|  |  | @ -551,6 +548,11 @@ static ItemConstraint *get_constraint(color_ostream &out, const std::string &str | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | static void start_protect(color_ostream &out) |  |  |  | static void start_protect(color_ostream &out) | 
			
		
	
		
		
			
				
					
					|  |  |  | { |  |  |  | { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     out << "workflow: checking for existing job issues" << endl; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     int count = fix_job_postings(&out); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     if (count) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         out << "workflow: fixed " << count << " job issues" << endl; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     check_lost_jobs(out, 0); |  |  |  |     check_lost_jobs(out, 0); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     if (!known_jobs.empty()) |  |  |  |     if (!known_jobs.empty()) | 
			
		
	
	
		
		
			
				
					|  |  | 
 |