- if (!anADelta->Label().IsNull() && !anADelta->Attribute().IsNull()) {
- Handle(TDF_Attribute) aCurrentAttr;
- if (anADelta->Label().FindAttribute(anADelta->Attribute()->ID(), aCurrentAttr)) {
- if (isEqualContent(anADelta->Attribute(), aCurrentAttr)) {
- continue; // attribute is not changed actually
+ Handle(TDF_DeltaOnAddition) anAddition = Handle(TDF_DeltaOnAddition)::DownCast(anADelta);
+ if (anAddition.IsNull()) { // if the attribute was added, transaction is not empty
+ if (!anADelta->Label().IsNull() && !anADelta->Attribute().IsNull()) {
+ Handle(TDF_Attribute) aCurrentAttr;
+ if (anADelta->Label().FindAttribute(anADelta->Attribute()->ID(), aCurrentAttr)) {
+ if (isEqualContent(anADelta->Attribute(), aCurrentAttr)) {
+ continue; // attribute is not changed actually
+ }
+ } else if (Standard_GUID::IsEqual(anADelta->Attribute()->ID(), TDataStd_AsciiString::GetID())) {
+ continue; // error message is disappeared