diff --git a/src/libs/core/extractor.cpp b/src/libs/core/extractor.cpp index 3c121592e..275146f4c 100644 --- a/src/libs/core/extractor.cpp +++ b/src/libs/core/extractor.cpp @@ -59,6 +59,9 @@ void Extractor::extract(const QString &sourceFile, const QString &destination, c destinationDir.setPath(destinationDir.filePath(root)); } + // Destination directory must be created before any other files. + destinationDir.mkpath(QLatin1String(".")); + // TODO: Do not strip root directory in archive if it equals to 'root' archive_entry *entry; while (archive_read_next_header(info.archiveHandle, &entry) == ARCHIVE_OK) {