Fixed selected object ordering across layers

This commit is contained in:
Yousef Khadadeh 2025-12-31 10:10:58 +03:00
parent b688c39e68
commit 08513646bf

View file

@ -110,7 +110,7 @@ void DrawingProgramSelection::sort_selection() {
std::vector<DrawingProgramLayerListItem*> flattenedLayerList = drawP.layerMan.get_flattened_layer_list();
std::unordered_map<DrawingProgramLayerListItem*, size_t> flattenedLayerListOrder;
for(size_t i = 0; i < flattenedLayerList.size(); i++)
flattenedLayerListOrder[flattenedLayerList[i]] = i;
flattenedLayerListOrder[flattenedLayerList[i]] = flattenedLayerList.size() - 1 - i;
std::sort(selectedSet.begin(), selectedSet.end(), [&](auto& a, auto& b) {
return (flattenedLayerListOrder[a->obj->parentLayer] < flattenedLayerListOrder[b->obj->parentLayer]) || (a->obj->parentLayer == b->obj->parentLayer && a->pos < b->pos);
});