+ fix order of removed objects in transaction list
+ add assert to check for obvious error + removed unneeded method
This commit is contained in:
parent
0f2db9061f
commit
f2bad4598a
|
@ -150,6 +150,8 @@ void Transaction::addObjectNew(TransactionalObject *Obj)
|
|||
else {
|
||||
pos->second->status = TransactionObject::New;
|
||||
pos->second->_NameInDocument = Obj->detachFromDocument();
|
||||
// move item at the end to make sure the order of removal is kept
|
||||
_Objects.splice(_Objects.end(), _Objects, pos);
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -575,16 +575,16 @@ void Document::slotRedoDocument(const App::Document& doc)
|
|||
|
||||
void Document::addViewProvider(Gui::ViewProviderDocumentObject* vp)
|
||||
{
|
||||
// Hint: The undo/redo first adds the view provider to the Gui
|
||||
// document before adding the objects to the App document.
|
||||
|
||||
// the view provider is added by TransactionViewProvider and an
|
||||
// object can be there only once
|
||||
assert(d->_ViewProviderMap.find(vp->getObject()) == d->_ViewProviderMap.end());
|
||||
vp->setStatus(Detach, false);
|
||||
d->_ViewProviderMap[vp->getObject()] = vp;
|
||||
}
|
||||
|
||||
void Document::removeViewProvider(Gui::ViewProviderDocumentObject* vp)
|
||||
{
|
||||
vp->setStatus(Detach, true);
|
||||
d->_ViewProviderMap.erase(vp->getObject());
|
||||
}
|
||||
|
||||
void Document::setModified(bool b)
|
||||
{
|
||||
d->_isModified = b;
|
||||
|
|
|
@ -86,7 +86,6 @@ protected:
|
|||
//@}
|
||||
|
||||
void addViewProvider(Gui::ViewProviderDocumentObject*);
|
||||
void removeViewProvider(Gui::ViewProviderDocumentObject*);
|
||||
|
||||
public:
|
||||
/** @name Signals of the document */
|
||||
|
|
Loading…
Reference in New Issue
Block a user