Re: Close box not showing as dirty when the doc says it's dirty
Re: Close box not showing as dirty when the doc says it's dirty
- Subject: Re: Close box not showing as dirty when the doc says it's dirty
- From: Steve Mills <email@hidden>
- Date: Wed, 06 Feb 2013 12:21:29 -0600
On Feb 5, 2013, at 19:09:54, Lee Ann Rucker <email@hidden> wrote:
> There's probably a KVO observer on isDocumentEdited; if nothing triggers setDocumentEdited then it doesn't know to check it.
>
> updateChangeCount: says
>
> If you are implementing undo and redo in an application, you should increment the change count every time you create an undo group and decrement the change count when an undo or redo operation is performed.
> Note that if you are using the NSDocument default undo/redo features, setting the document’s edited status by updating the change count happens automatically. You only need to invoke this method when you are not using these features.
Well, we've been calling [self updateChangeCount:NSChangeDone] all along. It seems that the window's close box only gets out of whack if we mark the doc dirty (via updateChangeCount) when the window is being drawn. There's a bug that causes the first draw to update some data members, which makes the doc dirty. In this case, we correctly call updateChangeCount:NSChangeDone. Even though we're doing that, the window's isDocumentEdited will still return false. So it's like updating that state during drawing is not allowing the window's isDocumentEdited state to change.
Since we do have that bug that causes non-dirty docs to become dirty during their first draw, I'm not going to worry about this too much. But it still seems to me like a Cocoa bug where the window state isn't getting changed when it should.
--
Steve Mills
office: 952-818-3871
home: 952-401-6255
cell: 612-803-6157
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden