diff --git a/src/plugins/common/dfmplugin-emblem/utils/emblemmanager.cpp b/src/plugins/common/dfmplugin-emblem/utils/emblemmanager.cpp index 2daf1d8253..4ef48655e3 100644 --- a/src/plugins/common/dfmplugin-emblem/utils/emblemmanager.cpp +++ b/src/plugins/common/dfmplugin-emblem/utils/emblemmanager.cpp @@ -46,7 +46,18 @@ bool EmblemManager::paintEmblems(int role, const FileInfoPointer &info, QPainter if (!helper->isExtEmblemProhibited(info, url)) { // add gio embelm icons helper->pending(info); - emblems.append(helper->gioEmblemIcons(url)); + int systemEmblemsSize = emblems.size(); + if (systemEmblemsSize == 0) { + emblems.append(helper->gioEmblemIcons(url)); + } else if (systemEmblemsSize > 0 && systemEmblemsSize < 4) { + const QList &gioIcons { helper->gioEmblemIcons(url) }; + int gioIconsSize { gioIcons.size() }; + if (gioIconsSize > systemEmblemsSize) { + for (int i = systemEmblemsSize; i < gioIconsSize; ++i) { + emblems.append(gioIcons[i]); + } + } + } // add custom emblem icons EmblemEventSequence::instance()->doFetchCustomEmblems(url, &emblems);