From b51468e440bb73371a430d0a0efe7658e8b7b80c Mon Sep 17 00:00:00 2001 From: dec05eba Date: Fri, 30 Jun 2023 13:10:07 +0200 Subject: Dont show spinning circle when thumbnail failed to load --- src/AsyncImageLoader.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src/AsyncImageLoader.cpp') diff --git a/src/AsyncImageLoader.cpp b/src/AsyncImageLoader.cpp index 95bc9ca..d719480 100644 --- a/src/AsyncImageLoader.cpp +++ b/src/AsyncImageLoader.cpp @@ -132,7 +132,7 @@ namespace QuickMedia { if(!file_analyzer.load_file(thumbnail_path.data.c_str(), false)) { fprintf(stderr, "Failed to convert %s to a thumbnail\n", thumbnail_path.data.c_str()); thumbnail_data->image = std::make_unique(); - thumbnail_data->loading_state = LoadingState::FINISHED_LOADING; + thumbnail_data->loading_state = LoadingState::FAILED_TO_LOAD; return; } @@ -142,7 +142,7 @@ namespace QuickMedia { } else { fprintf(stderr, "Failed to get video frame of %s\n", thumbnail_path.data.c_str()); thumbnail_data->image = std::make_unique(); - thumbnail_data->loading_state = LoadingState::FINISHED_LOADING; + thumbnail_data->loading_state = LoadingState::FAILED_TO_LOAD; } return; } @@ -152,7 +152,7 @@ namespace QuickMedia { } else { fprintf(stderr, "Failed to convert %s to a thumbnail\n", thumbnail_path.data.c_str()); thumbnail_data->image = std::make_unique(); - thumbnail_data->loading_state = LoadingState::FINISHED_LOADING; + thumbnail_data->loading_state = LoadingState::FAILED_TO_LOAD; } } @@ -264,7 +264,7 @@ namespace QuickMedia { if(url.empty()) { thumbnail_data->image = std::make_unique(); - thumbnail_data->loading_state = LoadingState::FINISHED_LOADING; + thumbnail_data->loading_state = LoadingState::FAILED_TO_LOAD; return false; } @@ -274,7 +274,7 @@ namespace QuickMedia { if(stat(url.c_str(), &file_stat) != 0 || !S_ISREG(file_stat.st_mode)) { fprintf(stderr, "Failed to load thumbnail %s: no such file\n", url.c_str()); thumbnail_data->image = std::make_unique(); - thumbnail_data->loading_state = LoadingState::FINISHED_LOADING; + thumbnail_data->loading_state = LoadingState::FAILED_TO_LOAD; return false; } @@ -345,6 +345,8 @@ namespace QuickMedia { image_thumbnail_create_queue.push(std::move(load_data)); } else { fprintf(stderr, "Thumbnail download failed for %s\n", download.url.c_str()); + download.thumbnail_data->image = std::make_unique(); + download.thumbnail_data->loading_state = LoadingState::FAILED_TO_LOAD; } reset_download(download); } @@ -401,7 +403,7 @@ namespace QuickMedia { download.read_program.read_fd = -1; } download.thumbnail_path.data.clear(); - download.url.c_str(); download.thumbnail_data = nullptr; + download.url.clear(); } } -- cgit v1.2.3