On 3 Jan 2012, at 15:25, Martin Hewitson wrote:

> Dear list,
> 
> I'm investigating getting the new 10.7 Versions stuff working on my 
> NSPersistentDocument app. In doing that, I've seen a couple of strange things 
> which I wanted to check on. 
> 
> Firstly, all I've done to make it work is to return YES from 
> +autosavesInPlace.
> 
> Now, what I notice is the following sequence of events:
> 
> 
> 1) App starts: 
>        windowControllerDidLoadNib <NSWindow: 0x10055d970>
> 2) Enter Versions browser
>       NSDocumentRevisionsDebugMode=YES
>       <Error>: kCGErrorFailure: CGSDisplayID: App trying to enumerate [0 to 
> CGSGetNumberOfDisplays()] instead of using CGSGetDisplayList().  
> Compensating...
>       <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to 
> catch errors as they are logged.
>       windowControllerDidLoadNib <NSWindow: 0x1091939c0>
>       Entered Versions: NSConcreteNotification 0x108658620 {name = 
> NSWindowDidEnterVersionBrowserNotification; object = <NSWindow: 0x10055d970>}
> 3) Exit Versions (by clicking Done button in Versions browser)
>       Window will close <NSWindow: 0x1091939c0> / <NSWindow: 0x1091939c0>
>       Open windows 1 (logged in windowWillClose:)
>       Exited Versions: NSConcreteNotification 0x1091a22c0 {name = 
> NSWindowDidExitVersionBrowserNotification; object = <NSWindow: 0x10055d970>}
> 4) Exit App
>       Window will close <NSWindow: 0x10055d970> / <NSWindow: 0x10055d970>
>       Open windows 1 (logged in windowWillClose:)
> 
> Some questions:
> 
> a) Why is it that I don't have 2 open windows in step 3)?
> b) What is the first window doing while the Versions browser is open? It 
> seems the same document is opened again, judging by the NSWindow objects.
> c) What are the Errors reported just after entering Versions?

The CG errors happen in all apps; seems to be a side-effect of however Apple 
have implemented Versions.
> 
> Perhaps I'm not understanding how this stuff works yet, so any enlightenment 
> would be gratefully received.
> 
> As a side question, where are the different versions of the document kept? 
> I've read that they are kept in the document, but inspection of the 
> (XML-based) Core Data document shows that's not the case. The app is actually 
> a manager of other (text) files on disk, and I'm amazed to see that the 
> versions actually reflect the state of the managed text files, even though 
> the save core data document does not store the file contents. The file 
> contents are stored temporarily in a core data entity as a transient 
> property. Can I then conclude that these transient properties are stored in 
> the different versions? I've tried reading through the documentation on this, 
> and I've watched the WWDC11 session on this, but perhaps I need to do that 
> again.

It's entirely private to the OS where and how it chooses to store the 
historical versions of your documents.


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to