diff options
author | Loren Shih <seraph@lindenlab.com> | 2011-03-21 10:38:39 -0400 |
---|---|---|
committer | Loren Shih <seraph@lindenlab.com> | 2011-03-21 10:38:39 -0400 |
commit | be553242ef706e33260f3f9e62d02f4720f00473 (patch) | |
tree | 553a150a63cd8105f8860780ef7d02f12a69eb23 /indra/llcommon | |
parent | 9c1c791b29cb5087ebff142d4ad7a55b65be0ad0 (diff) | |
parent | df63c6931e81c034887611711095e3134b9a7318 (diff) |
Automated merge up from viewer-development into mesh-development
Diffstat (limited to 'indra/llcommon')
-rw-r--r-- | indra/llcommon/llprocesslauncher.cpp | 24 | ||||
-rw-r--r-- | indra/llcommon/llversionviewer.h | 2 |
2 files changed, 23 insertions, 3 deletions
diff --git a/indra/llcommon/llprocesslauncher.cpp b/indra/llcommon/llprocesslauncher.cpp index d46188104f..10950181fd 100644 --- a/indra/llcommon/llprocesslauncher.cpp +++ b/indra/llcommon/llprocesslauncher.cpp @@ -103,10 +103,30 @@ int LLProcessLauncher::launch(void) char *args2 = new char[args.size() + 1]; strcpy(args2, args.c_str()); - if( ! CreateProcessA( NULL, args2, NULL, NULL, FALSE, 0, NULL, mWorkingDir.c_str(), &sinfo, &pinfo ) ) + const char * working_directory = 0; + if(!mWorkingDir.empty()) working_directory = mWorkingDir.c_str(); + if( ! CreateProcessA( NULL, args2, NULL, NULL, FALSE, 0, NULL, working_directory, &sinfo, &pinfo ) ) { - // TODO: do better than returning the OS-specific error code on failure... result = GetLastError(); + + LPTSTR error_str = 0; + if( + FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, + NULL, + result, + 0, + (LPTSTR)&error_str, + 0, + NULL) + != 0) + { + char message[256]; + wcstombs(message, error_str, 256); + message[255] = 0; + llwarns << "CreateProcessA failed: " << message << llendl; + LocalFree(error_str); + } + if(result == 0) { // Make absolutely certain we return a non-zero value on failure. diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h index 117d96ffa6..d22c879243 100644 --- a/indra/llcommon/llversionviewer.h +++ b/indra/llcommon/llversionviewer.h @@ -29,7 +29,7 @@ const S32 LL_VERSION_MAJOR = 2; const S32 LL_VERSION_MINOR = 6; -const S32 LL_VERSION_PATCH = 1; +const S32 LL_VERSION_PATCH = 2; const S32 LL_VERSION_BUILD = 0; const char * const LL_CHANNEL = "Second Life Developer"; |