- Created a new detail namespace
- Moved shared module implementation details into the detail namespace
- Split dependencies so source files only rely on details in the detail namespace
- Removed all code from the juce_gui_basics.cpp file
Fixes a bug on Windows when opening a FileChooser with the following
arguments.
FileChooser ("",
"C:\path\to\file", // filename 'file' doesn't contain '.'
"", // all extensions are allowed
true);
The expected behaviour is that the initially-displayed filename is
"file".
The actual behaviour was that the initially-displayed filename was
"file.file".
In order to display a WebKit based webview a plugin will deploy a
temporary standalone executable on the system and host the WebKit
instance inside that.
Until this commit it was possible that the message thread got stuck
waiting for the WebBrowserComponent's thread to finish, while the thread
was waiting for the message thread to handle a posted message.
Android devices won't necessarily be able to load MP3 files, so that
option has been removed from the file chooser. FLAC files should be
supported, but were missing from the MIME table.
The demo no longer tries to load files into the thumbnail view if they
previously failed to load into the transport.
The biggest new feature in this commit is the addition of
NativeMessageBox::scopedAsync and AlertWindow::scopedAsync, both of
which return an instance of ScopedMessageBox that will hide the message
box in its destructor.
The code for displaying modal dialogs on Windows has also been updated.
Now, the dialog itself is run from a new thread with its own message
loop. This means that when the dialog is dismissed, the background
thread can be joined safely. In plugins, this means that there's no
danger of the plugin view being destroyed from within the message box
runloop, for example.