From e4e1f7f5d6e76d0003855f8e93d817c2a1e24b86 Mon Sep 17 00:00:00 2001 From: John Preston Date: Fri, 30 Oct 2020 18:31:07 +0300 Subject: [PATCH] Try creating base dir in FileWriteDescriptor. --- .../storage/details/storage_file_utilities.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Telegram/SourceFiles/storage/details/storage_file_utilities.cpp b/Telegram/SourceFiles/storage/details/storage_file_utilities.cpp index b27f0e182..55dacabdd 100644 --- a/Telegram/SourceFiles/storage/details/storage_file_utilities.cpp +++ b/Telegram/SourceFiles/storage/details/storage_file_utilities.cpp @@ -197,7 +197,14 @@ bool FileWriteDescriptor::open(File &file, char postfix) { bool FileWriteDescriptor::writeHeader(QFileDevice &file) { if (!file.open(QIODevice::WriteOnly)) { - return false; + const auto dir = QDir(_basePath); + if (dir.exists()) { + return false; + } else if (!QDir().mkpath(dir.absolutePath())) { + return false; + } else if (!file.open(QIODevice::WriteOnly)) { + return false; + } } file.write(TdfMagic, TdfMagicLen); const auto version = qint32(AppVersion);