From 14c7a8fde4aeff471fa0b60abf33fd6c442c7e39 Mon Sep 17 00:00:00 2001 From: ArsenArsen Date: Sun, 17 Dec 2017 20:37:56 +0100 Subject: [PATCH] Fix disk leak --- src/utils.cpp | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/utils.cpp b/src/utils.cpp index 50db503..35bbc73 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -138,14 +138,15 @@ void utils::externalScreenshot(std::function callback) { if (code != 0) { qCritical().noquote() << "Failed to take external screenshot: \n" << process->readAllStandardError(); - return; + } else { + QPixmap pixmap; + if (!tempPath.isEmpty()) + pixmap.load(tempPath); + else + pixmap.loadFromData(process->readAllStandardOutput()); + callback(pixmap); } - QPixmap pixmap; - if (!tempPath.isEmpty()) - pixmap.load(tempPath); - else - pixmap.loadFromData(process->readAllStandardOutput()); - callback(pixmap); + QFile(tempPath).remove(); }); process->start(args.takeFirst(), args); } @@ -166,14 +167,15 @@ void utils::externalScreenshotActive(std::function callback) { if (code != 0) { qCritical().noquote() << "Failed to take external screenshot: \n" << process->readAllStandardError(); - return; + } else { + QPixmap pixmap; + if (!tempPath.isEmpty()) + pixmap.load(tempPath); + else + pixmap.loadFromData(process->readAllStandardOutput()); + callback(pixmap); } - QPixmap pixmap; - if (!tempPath.isEmpty()) - pixmap.load(tempPath); - else - pixmap.loadFromData(process->readAllStandardOutput()); - callback(pixmap); + QFile(tempPath).remove(); }); process->start(args.takeFirst(), args); }