From bba23c158923fe7f1bf9a6bf36d6eea22507efc1 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Wed, 5 May 2021 11:38:27 +1000 Subject: [PATCH] cache: don't create directories unless necessary --- app/render/framehashcache.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/render/framehashcache.cpp b/app/render/framehashcache.cpp index 7e21e55fd..c7fbf829a 100644 --- a/app/render/framehashcache.cpp +++ b/app/render/framehashcache.cpp @@ -429,7 +429,6 @@ QString FrameHashCache::CachePathName(const QString &cache_path, const QByteArra QString ext = GetFormatExtension(); QDir cache_dir(QDir(cache_path).filePath(QString(hash.left(1).toHex()))); - cache_dir.mkpath("."); QString filename = QStringLiteral("%1%2").arg(QString(hash.mid(1).toHex()), ext); @@ -446,10 +445,15 @@ QString FrameHashCache::CachePathName(const QString &cache_path, const QByteArra bool FrameHashCache::SaveCacheFrame(const QString &filename, char *data, const VideoParams &vparam, int linesize_bytes) { if (!VideoParams::FormatIsFloat(vparam.format())) { - qCritical() << "Tried to cache frame with non-float pixel format"; return false; } + // Ensure directory is created + QDir cache_dir = QFileInfo(filename).dir(); + if (!cache_dir.exists()) { + cache_dir.mkpath("."); + } + // Floating point types are stored in EXR Imf::PixelType pix_type;