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
_______________________________________________
Enigma-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/enigma-devel