Add some stuff that's needed for an MSVC built target:-
1) Make sure we create or open any files in binary mode 2) Make sure the user can see an error message of we fail to parse the command line 3) Make sure that the call to 'windows_vst_gui_init()' matches its declaration (i.e. only applicable when NOT on PLATFORM_WINDOWS)
This commit is contained in:
parent
dcd18d84ef
commit
70755c9950
@ -57,6 +57,9 @@
|
||||
|
||||
#include "i18n.h"
|
||||
|
||||
#ifdef COMPILER_MSVC
|
||||
#include <fcntl.h> // Needed for '_fmode'
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
using namespace Gtk;
|
||||
@ -161,6 +164,12 @@ int ardour_main (int argc, char *argv[])
|
||||
int main (int argc, char *argv[])
|
||||
#endif
|
||||
{
|
||||
#ifdef COMPILER_MSVC
|
||||
// Essential!! Make sure that any files used by Ardour
|
||||
// will be created or opened in BINARY mode!
|
||||
_fmode = O_BINARY;
|
||||
#endif
|
||||
|
||||
fixup_bundle_environment (argc, argv, &localedir);
|
||||
|
||||
load_custom_fonts(); /* needs to happen before any gtk and pango init calls */
|
||||
@ -173,7 +182,7 @@ int main (int argc, char *argv[])
|
||||
gtk_set_locale ();
|
||||
#endif
|
||||
|
||||
#ifdef WINDOWS_VST_SUPPORT
|
||||
#if (defined WINDOWS_VST_SUPPORT && !defined PLATFORM_WINDOWS)
|
||||
/* this does some magic that is needed to make GTK and X11 client interact properly.
|
||||
* the platform dependent code is in windows_vst_plugin_ui.cc
|
||||
*/
|
||||
@ -207,6 +216,16 @@ int main (int argc, char *argv[])
|
||||
#endif
|
||||
|
||||
if (parse_opts (argc, argv)) {
|
||||
#if (defined(COMPILER_MSVC) && defined(NDEBUG) && !defined(RDC_BUILD))
|
||||
// Since we don't ordinarily have access to stdout and stderr with
|
||||
// an MSVC app, let the user know we encountered a parsing error.
|
||||
Gtk::Main app(&argc, &argv); // Calls 'gtk_init()'
|
||||
|
||||
Gtk::MessageDialog dlgReportParseError (_("\n Ardour could not understand your command line "),
|
||||
false, MESSAGE_ERROR, BUTTONS_CLOSE, true);
|
||||
dlgReportParseError.set_title (_("An error was encountered while launching Ardour"));
|
||||
dlgReportParseError.run ();
|
||||
#endif
|
||||
exit (1);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user