Author: ericwa
Date: Tue Feb 18 08:06:47 2014
New Revision: 10336
URL: http://svn.gna.org/viewcvs/etoile?rev=10336&view=rev
Log:
COUndoTrack: switch to applying commands using COStoreTransaction, so a large
number of undos can be committed in a single store transaction. Undoing 10 or
20 undo commands at once in Typewriter is nearly instantaneous now (for some
reason, redoing is slower; need to investigate).
There is also a hack here in COSQLiteStore, which is that
-commitStoreTransaction: now waits for the notification it posts to be
processed before returning. This allows COUndoTrack to call
-commitStoreTransaction:, and when the call returns, any editing contexts in
the same process will have already processed the changes (so COUndoTrack
behaviour is the same as before, when it used to use -[COEditingContext commit]
to save changes)
Modified:
trunk/Etoile/Frameworks/CoreObject/Core/COBranch.m
trunk/Etoile/Frameworks/CoreObject/Core/COPersistentRoot.m
trunk/Etoile/Frameworks/CoreObject/Store/COSQLiteStore.m
trunk/Etoile/Frameworks/CoreObject/Tests/Synchronization/TestSynchronization.m
trunk/Etoile/Frameworks/CoreObject/Undo/COCommand.m
trunk/Etoile/Frameworks/CoreObject/Undo/COCommandGroup.h
trunk/Etoile/Frameworks/CoreObject/Undo/COCommandSetCurrentVersionForBranch.m
trunk/Etoile/Frameworks/CoreObject/Undo/COUndoTrack.m
_______________________________________________
Etoile-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-cvs