enigma-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Enigma-devel] Re: Mac OS X fixes for 1.01


From: Sidney Markowitz
Subject: Re: [Enigma-devel] Re: Mac OS X fixes for 1.01
Date: Thu, 24 May 2007 22:09:51 +1200
User-agent: Thunderbird 2.0.0.0 (Macintosh/20070326)

This keeps getting trickier. I wrote a patch that checks if ~/.enigma
exists before the user prefs are loaded and sets a boolean flag. Then,
when it is time to check for a possible version 1.00 migration in
updateMac1_00, we can test the flag. If the UserPath and UserImagePath
options are empty and there was no ~/.enigma when we checked earlier,
then we can move ~/.enigma to the Library subfolder without having to
pop up the dioalog to ask about it. If those options are empty and there
was a ~/.enigma directory when we started, then we ask about moving.

The reason we have to check for ~/.enigma early is because the routine
that loads the user preferences creates a default ~/.enigma if it does
not exist. And we have to load the preferences before the call to
updateMac1_00 because in order to open the dialog asking what to do we
have to have already initialized a number of things that require at
least the default preferences to have been set.

Here's the big problem that is still left. In the case of a brand new
installation, the default peferences are placed in a newly created
~/.enigma directory, then the migration sets the user pref path to
~/Library/Application\ Support/Enigma, then ~/.enigma/* is moved there,
then the application exits.

That exit() is necessary because the preferences have been moved out
from under the program.

But the effect is that the first time you start up Enigma it immediately
and silently exits. If you start it again, it is fine, as the migration
has happened. But that exit after the first time you run it is confusing
and wrong.

I've got some more ideas to play around with and I'll submit a patch if
I come up with something that works.

 -- sidney




reply via email to

[Prev in Thread] Current Thread [Next in Thread]