diff --git a/SevenZip/SevenZipExtractorAsynchronous.cs b/SevenZip/SevenZipExtractorAsynchronous.cs index 4b4c0f1..c308092 100644 --- a/SevenZip/SevenZipExtractorAsynchronous.cs +++ b/SevenZip/SevenZipExtractorAsynchronous.cs @@ -13,32 +13,31 @@ partial class SevenZipExtractor /// private void RecreateInstanceIfNeeded() { - if (!NeedsToBeRecreated) + if (NeedsToBeRecreated) { - return; - } - - Stream backupStream = null; - string backupFileName = null; - - if (string.IsNullOrEmpty(_fileName)) - { - backupStream = _inStream; - } - else - { - backupFileName = _fileName; - } + NeedsToBeRecreated = false; + Stream backupStream = null; + string backupFileName = null; - CommonDispose(); + if (string.IsNullOrEmpty(_fileName)) + { + backupStream = _inStream; + } + else + { + backupFileName = _fileName; + } - if (backupStream == null) - { - Init(backupFileName); - } - else - { - Init(backupStream); + CommonDispose(); + + if (backupStream == null) + { + Init(backupFileName); + } + else + { + Init(backupStream); + } } }