From 313b77fd269665d059e64eee079d21da2a3129c1 Mon Sep 17 00:00:00 2001 From: Alain Linden Date: Thu, 17 Mar 2011 12:16:41 -0700 Subject: Fix CHOP-544. Use cwd when creating a process on windows when the llprocesslauncher's working directory is not set. Currently "" will be passed for the working directory which breaks the launching of the updater script. --- indra/llcommon/llprocesslauncher.cpp | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 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. -- cgit v1.2.3 From 0d9b196ded95f6f4e009cb15a200ccf7b974b9a7 Mon Sep 17 00:00:00 2001 From: Dessie Linden Date: Fri, 18 Mar 2011 13:38:25 -0700 Subject: Added tag 2.6.0-beta1, DRTVWR-40_2.6.0-beta1 for changeset 9283d6d1d7eb --- .hgtags | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.hgtags b/.hgtags index 5eed83f2ca..419aae0475 100644 --- a/.hgtags +++ b/.hgtags @@ -77,3 +77,5 @@ b53a0576eec80614d7767ed72b40ed67aeff27c9 DRTVWR-38_2.5.2-release b53a0576eec80614d7767ed72b40ed67aeff27c9 2.5.2-release 92e58e51776a4f8c29069b1a62ff21454d2085f0 2.6.0-start f1827b441e05bf37c68e2c15ebc6d09e9b03f527 2.6.0-start +9283d6d1d7eb71dfe4c330e7c9144857e7356bde 2.6.0-beta1 +9283d6d1d7eb71dfe4c330e7c9144857e7356bde DRTVWR-40_2.6.0-beta1 -- cgit v1.2.3