|  |  |  | @ -51,6 +51,7 @@ using namespace DFHack; | 
		
	
		
			
				|  |  |  |  | #include "df/viewscreen_dwarfmodest.h" | 
		
	
		
			
				|  |  |  |  | #include "df/viewscreen_dungeonmodest.h" | 
		
	
		
			
				|  |  |  |  | #include "df/viewscreen_dungeon_monsterstatusst.h" | 
		
	
		
			
				|  |  |  |  | #include "df/viewscreen_jobst.h" | 
		
	
		
			
				|  |  |  |  | #include "df/viewscreen_joblistst.h" | 
		
	
		
			
				|  |  |  |  | #include "df/viewscreen_unitlistst.h" | 
		
	
		
			
				|  |  |  |  | #include "df/viewscreen_buildinglistst.h" | 
		
	
	
		
			
				
					|  |  |  | @ -761,6 +762,10 @@ df::job *Gui::getSelectedJob(color_ostream &out, bool quiet) | 
		
	
		
			
				|  |  |  |  | { | 
		
	
		
			
				|  |  |  |  |     df::viewscreen *top = Core::getTopViewscreen(); | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |     if (VIRTUAL_CAST_VAR(screen, df::viewscreen_jobst, top)) | 
		
	
		
			
				|  |  |  |  |     { | 
		
	
		
			
				|  |  |  |  |         return screen->job; | 
		
	
		
			
				|  |  |  |  |     } | 
		
	
		
			
				|  |  |  |  |     if (VIRTUAL_CAST_VAR(joblist, df::viewscreen_joblistst, top)) | 
		
	
		
			
				|  |  |  |  |     { | 
		
	
		
			
				|  |  |  |  |         df::job *job = vector_get(joblist->jobs, joblist->cursor_pos); | 
		
	
	
		
			
				
					|  |  |  | @ -1057,9 +1062,12 @@ df::building *Gui::getAnyBuilding(df::viewscreen *top) | 
		
	
		
			
				|  |  |  |  |     using df::global::world; | 
		
	
		
			
				|  |  |  |  |     using df::global::ui_sidebar_menus; | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |     if (auto screen = strict_virtual_cast<df::viewscreen_buildinglistst>(top)) | 
		
	
		
			
				|  |  |  |  |     if (VIRTUAL_CAST_VAR(screen, df::viewscreen_buildinglistst, top)) | 
		
	
		
			
				|  |  |  |  |         return vector_get(screen->buildings, screen->cursor); | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |     if (VIRTUAL_CAST_VAR(screen, df::viewscreen_workshop_profilest, top)) | 
		
	
		
			
				|  |  |  |  |         return df::building::find(screen->building_id); | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |     if (auto dfscreen = dfhack_viewscreen::try_cast(top)) | 
		
	
		
			
				|  |  |  |  |         return dfscreen->getSelectedBuilding(); | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
	
		
			
				
					|  |  |  | 
 |