|
From: | Ronald Lamprecht |
Subject: | Re: [Enigma-devel] Re: Mac OS X fixes for 1.01 |
Date: | Thu, 24 May 2007 22:03:26 +0200 |
User-agent: | Mozilla Thunderbird 1.0.7 (Windows/20050923) |
Hi, Sidney Markowitz wrote:
I see a problem with the program logic. If you start on a fresh machine, the default path is ~/.enigma before anything else is done. Then you have to initialize preferences in order to get the SDL stuff started before you call updateMac1_00() because that might open up a dialog. As soon as you initialize the preferences that early, you will create a default ~/.enigma directory.
The user paths are initialized in "initUserDatapaths()". This is done quite early long before any SDL stuff. This private function detects a fresh system on the property "MacUpdate1.00" being equal to 1 and sets the user path to the new Library subdirectory. No user dialog or move is necessary as all files will be saved at the correct positions - you confirmed that in your last mail.
But your error report on a Enigma 1.00 fesh start and a subsequent 1.01 start seems to take the same else-clause in "initUserDatapaths()". The only reason I could see is that you started 1.00 with a false ~/.enigmarc.xml - one that remained from the last tests with a property of "MacUpdate1.00" being 1 or "true".
Please attach the different versions of this file for anlaysis of the problem.
That means that updateMac1_00 has to do the following: if this is the first time, then without asking set the paths to the library directory and move ~/.enigma there if there is a version 1.00 configuration, ask and possibly move ~/.enigma. What that indicates to me is that you should hve a local flag variable in updateMac1_00 so that you can have some if statements, maybe call the dialog, and after those if statements check the flag and maybe move the directory. I'll put together a patch now to show what I mean.
I do not think these null-moves are necessary. But please submit your patches.
Ronald
[Prev in Thread] | Current Thread | [Next in Thread] |