The original fix of years ago must have caused leaked memory, and was
undone by my other changes to track memory management. This fix preserves
the intent, and avoids leaked memory.
Note that CleanDir may be used on a temp directory, deleting entire projects, and in that case
we delete all files too, but do not want to delete files that are at the top level, only ones inside
projects.
Projects will only have symlinks in them if they have been tampered with, and then
following the links, especially when doing CleanDir(), would be dangerous. So don't.
Improved comments, otherwise it isn't clear that CleanDir is needed on Windows
and Linux, not just Mac. It is deleting whole subdirs, not just .DS_Store files.
Configure.ac:
Upped version number to 2.1.3
Made FFmpeg and LibFlac Local
Readme.txt:
Added instruction for CFLAGS.
Use XCodebuild instructions on Mac, not autotools.
one reason is, on Mac must use patched wxWidgets 3.0.2
Fix affects windows only.
In the case of Save and SaveAs creates the directory too, so that the dialog can be positioned there.
For Export Multiple, will prompt if the directory does not exist.
Previously we relied on Windows doing this. With the fix to now use Documents directory, if none was set, Windows no longer remembers the directory. So now we remember it instead.
Added for consistency with log of remaining files. This change should clear up .DS_Store on Mac, and so help with 1567 residual issue when files are not deleted on exit.
On windows the capitalisation does not matter.
On Mac/Windows we use 'audacity' in path names, even if the directories wxWidgets suggests have 'Audacity'.
... At startup, spawn a copy process in main() and crash it at once. The
child process continues. (The fix was ineffective when the parent continued
and the child crashed.)
Re-activiation of the application is also needed or else the windows are
hidden behind other applications.
Another sleep when closing a project, to fix occurrences of the bug caused by
closing of a project window without saving changes.
The short-circuit evaluation of flags ONLY generated the NotMinimized flag, and all others were set to zero, when short-circuit evaluation happened. This change remembers and preserves the other flags, so they don't get set to zero.