On 21, Jan, 2012, at 07:31 PM, Mike Abdullah wrote:
>
> 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.
OK, good to know.
>>
>> 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.
>
True, but it would be very useful in the debugging/understanding process to be
able to inspect the contents of the previous versions. Of course, if we had
decent documentation on this, that might not be necessary. Alas....
Martin
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Martin Hewitson
Albert-Einstein-Institut
Max-Planck-Institut fuer
Gravitationsphysik und Universitaet Hannover
Callinstr. 38, 30167 Hannover, Germany
Tel: +49-511-762-17121, Fax: +49-511-762-5861
E-Mail: [email protected]
WWW: http://www.aei.mpg.de/~hewitson
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_______________________________________________
Cocoa-dev mailing list ([email protected])
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 [email protected]