diff --git a/src/data/field/choice.cpp b/src/data/field/choice.cpp index 0bd98868..65af5c68 100644 --- a/src/data/field/choice.cpp +++ b/src/data/field/choice.cpp @@ -116,7 +116,7 @@ String ChoiceField::Choice::choiceName(int id) const { } } } - return _(""); + return String(); } String ChoiceField::Choice::choiceNameNice(int id) const { @@ -165,14 +165,9 @@ ChoiceStyle::ChoiceStyle(const ChoiceFieldP& field) , choice_images_initialized(false) , combine(COMBINE_NORMAL) , alignment(ALIGN_STRETCH) - , thumbnails(nullptr) , content_width(0.0), content_height(0.0) {} -ChoiceStyle::~ChoiceStyle() { - delete thumbnails; -} - void ChoiceStyle::initImage() { if (image.isSet() || choice_images.empty()) return; // for, for example: @@ -234,10 +229,9 @@ void ChoiceStyle::checkContentDependencies(Context& ctx, const Dependency& dep) void ChoiceStyle::invalidate() { // TODO : this is also done in update(), once should be enough // Update choice images and thumbnails - int end = field().choices->lastId(); - thumbnails_status.resize(end, THUMB_NOT_MADE); - for (int i = 0 ; i < end ; ++i) { - if (thumbnails_status[i] == THUMB_OK) thumbnails_status[i] = THUMB_CHANGED; + for (auto& thumbnail : thumbnails) { + ChoiceThumbnailLock lock(thumbnail.mutex); + if (thumbnail.status == THUMB_OK) thumbnail.status = THUMB_CHANGED; } tellListeners(CHANGE_OTHER); } diff --git a/src/data/field/choice.hpp b/src/data/field/choice.hpp index c75455d0..7167155b 100644 --- a/src/data/field/choice.hpp +++ b/src/data/field/choice.hpp @@ -16,7 +16,7 @@ #include