Community
Participate
Working Groups
In Sirius dialect editors with the following scenario : 1. Open any representation with its associated editor 2. Save if needed 3. Execute a EMF Command doing model changes, the editor become dirty 4. Undo, the editor is always dirty while it could be sync Indeed, in EMF tree based editor and in GMF sample editors, starting from a saved content executing N commands and doing N undo, the editor is no more dirty, with a limit on N. This is possible with BasicCommandStack.saveIsDone()/isSaveNeeded() API.
For GMF editor, this is managed in GMFResourceModificationManager.getHistoryListener(). The concept is similarly the same to manage that : 1. Keep a reference to the last executed operation 2. Keep a reference to the last operation for which a save has been done just after 3. If "next operation in undo list" == "last operation for which a save has been done just after" => save is not needed This is done using a specific IUndoContext.
I would say this is more a bug than an enhancement. The user expecting no more dirty after what you described.