Salome HOME
std::set_difference requires sorted container to work correctly mbs/fix_move_to_the_end_on_group_substraction 6/head
authormbs <martin.bernhard@opencascade.com>
Fri, 14 Apr 2023 15:47:31 +0000 (16:47 +0100)
committermbs <martin.bernhard@opencascade.com>
Fri, 14 Apr 2023 15:47:31 +0000 (16:47 +0100)
src/XGUI/XGUI_Workshop.cpp

index edc1d5e504540fee7b4e958cddb3b9404801ae39..fde5034bfcce56939146eebfa93ea187d2955df3 100644 (file)
@@ -2414,7 +2414,7 @@ bool XGUI_Workshop::canMoveFeature()
 
   QObjectPtrList anObjects = mySelector->selection()->selectedObjects();
   QObjectPtrList aValidatedObjects;
-  std::list<FeaturePtr> aSelectedFeatures;
+  std::set<FeaturePtr> aSelectedFeatures;
   foreach (ObjectPtr anObject, anObjects) {
     if (!myModule->canApplyAction(anObject, anActionId))
       continue;
@@ -2423,7 +2423,7 @@ bool XGUI_Workshop::canMoveFeature()
       continue;
     aValidatedObjects.append(anObject);
     FeaturePtr aFeat = std::dynamic_pointer_cast<ModelAPI_Feature>(anObject);
-    aSelectedFeatures.push_back(aFeat);
+    aSelectedFeatures.insert(aFeat);
   }
   if (aValidatedObjects.size() != anObjects.size())
     anObjects = aValidatedObjects;