aboutsummaryrefslogtreecommitdiff
path: root/src/QuickMedia.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/QuickMedia.cpp')
-rw-r--r--src/QuickMedia.cpp20
1 files changed, 3 insertions, 17 deletions
diff --git a/src/QuickMedia.cpp b/src/QuickMedia.cpp
index 54af0fa..659e59c 100644
--- a/src/QuickMedia.cpp
+++ b/src/QuickMedia.cpp
@@ -380,16 +380,6 @@ namespace QuickMedia {
}
Program::~Program() {
- if(upscale_image_action != UpscaleImageAction::NO && running) {
- running = false;
- {
- std::unique_lock<std::mutex> lock(image_upscale_mutex);
- image_upscale_cv.notify_one();
- }
- image_upscale_thead.join();
- } else {
- running = false;
- }
if(matrix)
delete matrix;
if(disp)
@@ -506,15 +496,12 @@ namespace QuickMedia {
return -2;
}
- running = true;
image_upscale_thead = std::thread([this]{
CopyOp copy_op;
- while(running) {
+ while(true) {
{
std::unique_lock<std::mutex> lock(image_upscale_mutex);
- while(images_to_upscale.empty() && running) image_upscale_cv.wait(lock);
- if(!running)
- break;
+ while(images_to_upscale.empty()) image_upscale_cv.wait(lock);
copy_op = images_to_upscale.front();
images_to_upscale.pop_front();
}
@@ -539,8 +526,7 @@ namespace QuickMedia {
file_overwrite(copy_op.destination.data.c_str(), "1");
}
});
- } else {
- running = true;
+ image_upscale_thead.detach();
}
if(strcmp(plugin_name, "file-manager") != 0 && start_dir) {