-
Elvis Angelaccio authored
The goal of task T916 is to stop disabling the Part UI while extracting an entry. To do so, we need first to make sure that no race condition would occur if extracting two or more entries in parallel. A race condition might occur in Part::slotOpenExtractedEntry(), where m_openFileMode is a global member that could be accessed concurrently between different threads. We can stop using this variable if we introduce dedicated jobs for preview/opening of files. This way we can simply do a dynamic_cast on the local job variable, to check whether the user wants to open or open-with the file. Preview is totally unrelated so it can be moved into a different slot. We can also make sure that the PreviewJob deletes the temporary directory upon completion. Differential Revision: D1749
41b25127