diff --git a/rtgui/filebrowserentry.cc b/rtgui/filebrowserentry.cc index 1bcb75648..c98c57cbe 100644 --- a/rtgui/filebrowserentry.cc +++ b/rtgui/filebrowserentry.cc @@ -88,12 +88,13 @@ void FileBrowserEntry::refreshThumbnailImage () { } void FileBrowserEntry::refreshQuickThumbnailImage () { - // Only make a (slow) processed preview if the picture has been edited at all - if ( thumbnail && - thumbnail->isQuick() && (!options.internalThumbIfUntouched || thumbnail->isPParamsValid()) ) - { - thumbImageUpdater->add(this, &updatepriority, true, this); - } + + if (!thumbnail) + return; + + // Only make a (slow) processed preview if the picture has been edited at all + bool upgrade_to_processed = (!options.internalThumbIfUntouched || thumbnail->isPParamsValid()); + thumbImageUpdater->add(this, &updatepriority, upgrade_to_processed, this); } void FileBrowserEntry::calcThumbnailSize () { diff --git a/rtgui/thumbnail.cc b/rtgui/thumbnail.cc index dcf580538..861f599ae 100644 --- a/rtgui/thumbnail.cc +++ b/rtgui/thumbnail.cc @@ -346,6 +346,15 @@ void Thumbnail::clearProcParams (int whoClearedIt) { fname_ = removeExtension(fname) + paramFileExtension; if (safe_file_test (fname_, Glib::FILE_TEST_EXISTS)) safe_g_remove (fname_); + + if (cfs.format == FT_Raw && options.internalThumbIfUntouched && cfs.thumbImgType != CacheImageData::QUICK_THUMBNAIL) { + // regenerate thumbnail, ie load the quick thumb again. For the rare formats not supporting quick thumbs this will + // be a bit slow as a new full thumbnail will be generated unnecessarily, but currently there is no way to pre-check + // if the format supports quick thumbs. + initial_ = true; + _generateThumbnailImage(); + initial_ = false; + } } } // end of mutex lock