Salome HOME
Fix of crash on undo/redo/undo of extrusion: the comment of sketch result was erased...
authormpv <mikhail.ponikarov@opencascade.com>
Wed, 17 Dec 2014 13:26:55 +0000 (16:26 +0300)
committermpv <mikhail.ponikarov@opencascade.com>
Wed, 17 Dec 2014 13:26:55 +0000 (16:26 +0300)
src/Model/Model_AttributeReference.cpp
src/Model/Model_Document.cpp

index b2f27073d3e3e8f3bf2ba87cfe19cf32bd3d8fe2..2b0e15756ff84c9766ac0226447aab13a9ad63c5 100644 (file)
@@ -32,8 +32,8 @@ void Model_AttributeReference::setValue(ObjectPtr theObject)
         std::dynamic_pointer_cast<Model_Document>(owner()->document());
       myRef->Set(anObjLab);  // references to the object label
        // remove external link attributes (if any)
-      anObjLab.ForgetAttribute(TDataStd_Comment::GetID());
-      anObjLab.ForgetAttribute(TDataStd_AsciiString::GetID());
+      myRef->Label().ForgetAttribute(TDataStd_Comment::GetID());
+      myRef->Label().ForgetAttribute(TDataStd_AsciiString::GetID());
     } else { // different document: store the document name (comment) and entry (string): external
       // if these attributes exist, the link is external: keep reference to access the label
       TDataStd_Comment::Set(myRef->Label(), theObject->document()->id().c_str());
index 557ee00e59e6fc53e2e96ee73eccc9793c3df541..389bbfb4b9c1214897dd96f87754f8c35f1160fb 100644 (file)
@@ -50,6 +50,11 @@ static const int TAG_HISTORY = 3;  // tag of the history sub-tree (python dump)
 static const int TAG_FEATURE_ARGUMENTS = 1;  ///< where the arguments are located
 static const int TAG_FEATURE_RESULTS = 2;  ///< where the results are located
 
+///
+/// 0:1:2 - where features are located
+/// 0:1:2:N:1 - data of the feature N
+/// 0:1:2:N:2:K:1 - data of the K result of the feature N
+
 Model_Document::Model_Document(const std::string theID, const std::string theKind)
     : myID(theID), myKind(theKind),
       myDoc(new TDocStd_Document("BinOcaf"))  // binary OCAF format