// if the type of export operation is XAO
AttributeStringPtr aTypeAttr = string(EXPORT_TYPE_ID());
if (aTypeAttr->isInitialized() && aTypeAttr->value() == "XAO") {
+ bool aWasBlocked = data()->blockSendAttributeUpdated(true, false);
AttributeSelectionListPtr aSelList = selectionList(SELECTION_LIST_ID());
AttributeSelectionListPtr aXAOSelList = selectionList(XAO_SELECTION_LIST_ID());
if (aSelList->size() > 0 && aXAOSelList->size() == 0)
aSelList->copyTo(aXAOSelList);
aSelList->clear();
+ data()->blockSendAttributeUpdated(aWasBlocked, false);
}
}
if (theBelow)
continue;
- // if feature is in sub-component, skip it
- FeaturePtr aCurFeature = feature(aCurLabel);
- if (isSkippedFeature(aCurFeature))
- continue;
-
+ // issue #18733: check for the last feature in folder before checking the sub-feature,
+ // because the folder may end by the feature which is
+ // neither a sub-feature nor a feature in history.
if (!aLastFeatureInFolder.IsNull()) {
if (IsEqual(aCurLabel, aLastFeatureInFolder))
aLastFeatureInFolder.Nullify(); // the last feature in the folder is achieved
continue;
}
+ // if feature is in sub-component, skip it
+ FeaturePtr aCurFeature = feature(aCurLabel);
+ if (isSkippedFeature(aCurFeature))
+ continue;
+
const ObjectPtr& aFolderObj = folder(aCurLabel);
if (aFolderObj.get()) {
aFoundFolder = std::dynamic_pointer_cast<ModelAPI_Folder>(aFolderObj);