The residual issue here was that an old cfg could go on using the unsafe path. So we check for the unsafe path at init and silently substitute the good path. If the user attempts to re-instate the unsafe path we tell them no, with an informative message. This change was made more complex by windows allowing different strings for the same path, specifically C:\Users\JAMESC~1\AppData\Local\Temp\audacity_temp contains the shortening '~' so in the function that tests 'IsTempDirectoryNameOK' we use GetLongPath() to always compare the expanded names.
I also changed directory prefs to add SessionData rather than audacity_temp on the new directory name, on windows when choosing a new temp directory.
The 'easy' way to patch wxWidgets 3.0.2 is to copy the modified files over the 3.0.2 installation. Updated text explains what is changed from default wxWidgets.
Audacity can be built with dynamically loading/unloading the MP3 library
(the default) or dynamically linked against the shared object file
(--disable-dynamic-loading). The code to load the library is only needed
in the former case.
New behaviour, instead of resizing window when it doesn't fit, use the default size/position.
This touches code involved in the fix for 1119 (mac only bug on small screens) and should still
fix that bug, but that will need testing.
New fix. It appears to be a bug in wx3. Hiding a Modal window (under linux) can stop it being modal. So rather than EndModal() we send an event to close the window which works whether wxWidgets thinks the window is modal or not. Additionally we set the focus back to the parent window, becuase of a side bug under windows, and we new the status dialog rather than allocate it on the stack, because the status dialog is NOT run with ShowModal() which is the only time we can safely use an on stack dialog.
Guarding against mDataLen < mWindowSize, as per fix from Steve.
However, also must ensure mAnalyst was initialised, as we otherwise get a different crash when we paint a valid spectrum later, because we don't init mAnalyst when too few samples. To do that init, we must call Recalc before we show the dialog.
Needs to be tested on Mac, because the change from SendRecalcEvent() to Recalc() might conceivably upset the Mac.
[Via email - preferred]
German (de) - Daniel Winzen with minor tweaks H Hank.
Basque (eu) - Xabier Aramendi
Finnish (fi) - Heino Keränen
Italian (it) - Carmelo battaglia
Japanese (ja) - Atsushi Yoshida
[Via Transifex]
Polish (pl) - Andrzej Supermocny
Russian (ru) - Johnny Storm
Turkish (tr) - Kaya Zeren