diff --git a/rtengine/clutstore.cc b/rtengine/clutstore.cc index 9ee976907..10b7a2c38 100644 --- a/rtengine/clutstore.cc +++ b/rtengine/clutstore.cc @@ -270,7 +270,8 @@ void rtengine::HaldCLUT::splitClutFilename( const Glib::ustring& filename, Glib::ustring& name, Glib::ustring& extension, - Glib::ustring& profile_name + Glib::ustring& profile_name, + bool checkProfile ) { Glib::ustring basename = Glib::path_get_basename(filename); @@ -284,17 +285,19 @@ void rtengine::HaldCLUT::splitClutFilename( name = basename; } - profile_name = "sRGB"; + if (checkProfile) { + profile_name = "sRGB"; - if (!name.empty()) { - for (const auto& working_profile : rtengine::ICCStore::getInstance()->getWorkingProfiles()) { - if ( - !working_profile.empty() // This isn't strictly needed, but an empty wp name should be skipped anyway - && std::search(name.rbegin(), name.rend(), working_profile.rbegin(), working_profile.rend()) == name.rbegin() - ) { - profile_name = working_profile; - name.erase(name.size() - working_profile.size()); - break; + if (!name.empty()) { + for (const auto& working_profile : rtengine::ICCStore::getInstance()->getWorkingProfiles()) { + if ( + !working_profile.empty() // This isn't strictly needed, but an empty wp name should be skipped anyway + && std::search(name.rbegin(), name.rend(), working_profile.rbegin(), working_profile.rend()) == name.rbegin() + ) { + profile_name = working_profile; + name.erase(name.size() - working_profile.size()); + break; + } } } } diff --git a/rtengine/clutstore.h b/rtengine/clutstore.h index a43526f78..cd94bc18b 100644 --- a/rtengine/clutstore.h +++ b/rtengine/clutstore.h @@ -39,7 +39,8 @@ public: const Glib::ustring& filename, Glib::ustring& name, Glib::ustring& extension, - Glib::ustring& profile_name + Glib::ustring& profile_name, + bool checkProfile = true ); private: diff --git a/rtgui/filmsimulation.cc b/rtgui/filmsimulation.cc index 3c0c1de23..dd29f1313 100644 --- a/rtgui/filmsimulation.cc +++ b/rtgui/filmsimulation.cc @@ -393,7 +393,7 @@ int ClutComboBox::ClutModel::parseDir(const Glib::ustring& path) Glib::ustring name; Glib::ustring extension; Glib::ustring profileName; - HaldCLUT::splitClutFilename (entry, name, extension, profileName); + HaldCLUT::splitClutFilename (entry, name, extension, profileName, false); extension = extension.casefold(); if (extension != "png" && extension != "tif") {