diff options
Diffstat (limited to 'base/base_paths_win.cc')
-rw-r--r-- | base/base_paths_win.cc | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/base/base_paths_win.cc b/base/base_paths_win.cc index 25271e4..b29a991 100644 --- a/base/base_paths_win.cc +++ b/base/base_paths_win.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -49,6 +49,16 @@ bool PathProviderWin(int key, FilePath* result) { GetSystemDirectory(system_buffer, MAX_PATH); cur = FilePath(system_buffer); break; + case base::DIR_PROGRAM_FILESX86: + if (base::win::OSInfo::GetInstance()->architecture() != + base::win::OSInfo::X86_ARCHITECTURE) { + if (FAILED(SHGetFolderPath(NULL, CSIDL_PROGRAM_FILESX86, NULL, + SHGFP_TYPE_CURRENT, system_buffer))) + return false; + cur = FilePath(system_buffer); + break; + } + // Fall through to base::DIR_PROGRAM_FILES if we're on an X86 machine. case base::DIR_PROGRAM_FILES: if (FAILED(SHGetFolderPath(NULL, CSIDL_PROGRAM_FILES, NULL, SHGFP_TYPE_CURRENT, system_buffer))) |