X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2Fos_win32.cpp;h=a6e5da7c5ad060b40f5b0c6b32ba4d99f4367d67;hb=08afc52c4cc5fe8740722d7715fd66baa3dd9ffa;hp=c50fa05b1a8370983d6f6c58fd5737f1d109e44c;hpb=76dfde36d47189cf863eda7982888f6664630a57;p=lyx.git diff --git a/src/support/os_win32.cpp b/src/support/os_win32.cpp index c50fa05b1a..a6e5da7c5a 100644 --- a/src/support/os_win32.cpp +++ b/src/support/os_win32.cpp @@ -60,11 +60,13 @@ #include #endif - +#if defined(_MSC_VER) && (_MSC_VER >= 1900) +#else extern "C" { extern void __wgetmainargs(int * argc, wchar_t *** argv, wchar_t *** envp, int expand_wildcards, int * new_mode); } +#endif using namespace std; @@ -157,9 +159,13 @@ void init(int argc, char * argv[]) // Get the wide program arguments array +#if defined(_MSC_VER) && (_MSC_VER >= 1900) + argv_ = CommandLineToArgvW(GetCommandLineW(), &argc_); +#else wchar_t ** envp = 0; int newmode = 0; __wgetmainargs(&argc_, &argv_, &envp, -1, &newmode); +#endif LATTEST(argc == argc_); // If Cygwin is detected, query the cygdrive prefix. @@ -563,7 +569,7 @@ bool autoOpenFile(string const & filename, auto_open_mode const mode, // reference: http://msdn.microsoft.com/en-us/library/bb762153.aspx char const * action = (mode == VIEW) ? "open" : "edit"; - bool success = reinterpret_cast(ShellExecute(NULL, action, + bool success = reinterpret_cast(ShellExecute(NULL, action, to_local8bit(from_utf8(filename)).c_str(), NULL, NULL, 1)) > 32; if (!path.empty() && !lyxrc.texinputs_prefix.empty()) {