Core Data: Begin+End Undo Group = Dirty Dot. Why?

2009-11-13 Thread Jerry Krinock
I have discovered (one of?) the mysterious causes of a Core Data document becoming dirty (red button in title bar gets black dot) when no changes have been made to the store. STEPS TO REPRODUCE: * Mac OS 10.5.8 (haven't tested 10.6 yet) * Download a fresh copy of Apple's

Re: Core Data: Begin+End Undo Group = Dirty Dot. Why?

2009-11-13 Thread Kyle Sluder
On Fri, Nov 13, 2009 at 6:53 PM, Jerry Krinock je...@ieee.org wrote: Why would the dirty dot become dirty when no change was made to the store?  I don't see any logical reason for this. Because NSDocument change count is linked to the NSUndoManager notifications. See

Re: Core Data: Begin+End Undo Group = Dirty Dot. Why?

2009-11-13 Thread Graham Cox
On 14/11/2009, at 1:53 PM, Jerry Krinock wrote: - (IBAction)dooDoo:(id)sender { [[self undoManager] beginUndoGrouping] ; [[self undoManager] endUndoGrouping] ; A known bug in NSUndoManager is that doing this records an empty undo task - the Undo menu becomes available but does

Re: Core Data: Begin+End Undo Group = Dirty Dot. Why?

2009-11-13 Thread Jerry Krinock
On 2009 Nov 13, at 19:06, Kyle Sluder wrote: On Fri, Nov 13, 2009 at 6:53 PM, Jerry Krinock je...@ieee.org wrote: Why would the dirty dot become dirty when no change was made to the store? I don't see any logical reason for this. Because NSDocument change count is linked to the

Re: Core Data: Begin+End Undo Group = Dirty Dot. Why?

2009-11-13 Thread Kyle Sluder
On Fri, Nov 13, 2009 at 7:44 PM, Jerry Krinock je...@ieee.org wrote: Maybe you or someone could explain it a little better? See Graham's explanation. AppKit already does this for you.  See -[NSUndoManager groupsByEvent]

Re: Core Data: Begin+End Undo Group = Dirty Dot. Why?

2009-11-13 Thread Jerry Krinock
On 2009 Nov 13, at 19:41, Graham Cox wrote: On 14/11/2009, at 1:53 PM, Jerry Krinock wrote: - (IBAction)dooDoo:(id)sender { [[self undoManager] beginUndoGrouping] ; [[self undoManager] endUndoGrouping] ; A known bug in NSUndoManager is that doing this records an empty undo task - the

Re: Core Data: Begin+End Undo Group = Dirty Dot. Why?

2009-11-13 Thread Jerry Krinock
On 2009 Nov 13, at 19:50, Kyle Sluder wrote: On Fri, Nov 13, 2009 at 7:44 PM, Jerry Krinock je...@ieee.org wrote: Maybe you or someone could explain it a little better? See Graham's explanation. Got it. Known bug. Yes it does, but once you build a Core Data app which is more