diff options
author | mmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2006-10-26 18:06:43 +0000 |
---|---|---|
committer | mmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2006-10-26 18:06:43 +0000 |
commit | 29401d2457120b6d581affdb440017433ca93e77 (patch) | |
tree | b220a87d6f942f164b1cba84ba369ad060d80891 /src/client/windows | |
parent | Add MDString to minidump_format.h (#59). r=bryner (diff) | |
download | breakpad-29401d2457120b6d581affdb440017433ca93e77.tar.xz |
Support building with WIN32_LEAN_AND_MEAN (#60)
- All Windows code now builds with WIN32_LEAN_AND_MEAN by default.
- Header inclusion is adjusted as needed.
Remove use of UuidToString (#39)
- Also breaks dependency on RpcStringFree and therefore rpcrt4.lib.
r=bryner
http://groups.google.com/group/airbag-dev/browse_thread/thread/30f844cfc7ccd37f
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@51 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/client/windows')
-rw-r--r-- | src/client/windows/handler/exception_handler.cc | 24 | ||||
-rw-r--r-- | src/client/windows/handler/exception_handler.h | 8 | ||||
-rw-r--r-- | src/client/windows/handler/exception_handler.vcproj | 16 | ||||
-rw-r--r-- | src/client/windows/sender/crash_report_sender.h | 2 | ||||
-rw-r--r-- | src/client/windows/sender/crash_report_sender.vcproj | 8 |
5 files changed, 29 insertions, 29 deletions
diff --git a/src/client/windows/handler/exception_handler.cc b/src/client/windows/handler/exception_handler.cc index ba5c2653..e58dea65 100644 --- a/src/client/windows/handler/exception_handler.cc +++ b/src/client/windows/handler/exception_handler.cc @@ -27,11 +27,12 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -#include <assert.h> +#include <ObjBase.h> #include <cstdio> #include "client/windows/handler/exception_handler.h" +#include "common/windows/guid_string.h" namespace google_airbag { @@ -42,9 +43,9 @@ ExceptionHandler::ExceptionHandler(const wstring &dump_path, void *callback_context, bool install_handler) : callback_(callback), callback_context_(callback_context), - dump_path_(dump_path), next_minidump_id_(NULL), - dbghelp_module_(NULL), minidump_write_dump_(NULL), - previous_handler_(current_handler_), previous_filter_(NULL) { + dump_path_(dump_path), dbghelp_module_(NULL), + minidump_write_dump_(NULL), previous_handler_(current_handler_), + previous_filter_(NULL) { UpdateNextID(); dbghelp_module_ = LoadLibrary(L"dbghelp.dll"); if (dbghelp_module_) { @@ -61,9 +62,6 @@ ExceptionHandler::~ExceptionHandler() { if (dbghelp_module_) { FreeLibrary(dbghelp_module_); } - if (next_minidump_id_) { - RpcStringFree(&next_minidump_id_); - } if (current_handler_ == this) { SetUnhandledExceptionFilter(previous_filter_); current_handler_ = previous_handler_; @@ -95,7 +93,7 @@ bool ExceptionHandler::WriteMinidump(const wstring &dump_path, bool ExceptionHandler::WriteMinidumpWithException(EXCEPTION_POINTERS *exinfo) { wchar_t dump_file_name[MAX_PATH]; swprintf_s(dump_file_name, MAX_PATH, L"%s\\%s.dmp", - dump_path_.c_str(), next_minidump_id_); + dump_path_.c_str(), next_minidump_id_.c_str()); bool success = false; if (minidump_write_dump_) { @@ -126,10 +124,7 @@ bool ExceptionHandler::WriteMinidumpWithException(EXCEPTION_POINTERS *exinfo) { } if (callback_) { - // This looks nasty, but RPC_WSTR is really just a wide string, - // and there are no "supported" ways to convert them other than casting. - callback_(reinterpret_cast<wchar_t*>(next_minidump_id_), - callback_context_, success); + callback_(next_minidump_id_, callback_context_, success); } // TODO(bryner): log an error on failure @@ -137,12 +132,9 @@ bool ExceptionHandler::WriteMinidumpWithException(EXCEPTION_POINTERS *exinfo) { } void ExceptionHandler::UpdateNextID() { - if (next_minidump_id_) { - RpcStringFree(&next_minidump_id_); - } GUID id; CoCreateGuid(&id); - UuidToString(&id, &next_minidump_id_); + next_minidump_id_ = GUIDString::GUIDToWString(&id); } } // namespace google_airbag diff --git a/src/client/windows/handler/exception_handler.h b/src/client/windows/handler/exception_handler.h index 534a1d7f..5f6f5231 100644 --- a/src/client/windows/handler/exception_handler.h +++ b/src/client/windows/handler/exception_handler.h @@ -54,13 +54,13 @@ // This will put the exception filter stack into an inconsistent state. // // To use this library in your project, you will need to link against -// rpcrt4.lib and ole32.lib. +// ole32.lib. #ifndef CLIENT_WINDOWS_HANDLER_EXCEPTION_HANDLER_H__ #define CLIENT_WINDOWS_HANDLER_EXCEPTION_HANDLER_H__ -#include <windows.h> -#include <dbghelp.h> +#include <Windows.h> +#include <DbgHelp.h> #include <string> @@ -121,7 +121,7 @@ class ExceptionHandler { void *callback_context_; wstring dump_path_; - RPC_WSTR next_minidump_id_; + wstring next_minidump_id_; HMODULE dbghelp_module_; MiniDumpWriteDump_type minidump_write_dump_; diff --git a/src/client/windows/handler/exception_handler.vcproj b/src/client/windows/handler/exception_handler.vcproj index 1f9bdb17..70efe119 100644 --- a/src/client/windows/handler/exception_handler.vcproj +++ b/src/client/windows/handler/exception_handler.vcproj @@ -41,7 +41,7 @@ Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\.."
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB;WIN32_LEAN_AND_MEAN"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -104,7 +104,7 @@ <Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\.."
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;WIN32_LEAN_AND_MEAN"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
@@ -165,7 +165,7 @@ Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\.."
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB;WIN32_LEAN_AND_MEAN"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@@ -228,7 +228,7 @@ <Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\.."
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;WIN32_LEAN_AND_MEAN"
RuntimeLibrary="0"
UsePrecompiledHeader="0"
WarningLevel="3"
@@ -276,6 +276,10 @@ RelativePath=".\exception_handler.cc"
>
</File>
+ <File
+ RelativePath="..\..\..\common\windows\guid_string.cc"
+ >
+ </File>
</Filter>
<Filter
Name="Header Files"
@@ -286,6 +290,10 @@ RelativePath=".\exception_handler.h"
>
</File>
+ <File
+ RelativePath="..\..\..\common\windows\guid_string.h"
+ >
+ </File>
</Filter>
<Filter
Name="Resource Files"
diff --git a/src/client/windows/sender/crash_report_sender.h b/src/client/windows/sender/crash_report_sender.h index 19563b02..06785818 100644 --- a/src/client/windows/sender/crash_report_sender.h +++ b/src/client/windows/sender/crash_report_sender.h @@ -38,8 +38,8 @@ // To use this library in your project, you will need to link against // wininet.lib. -#include <string> #include <map> +#include <string> namespace google_airbag { diff --git a/src/client/windows/sender/crash_report_sender.vcproj b/src/client/windows/sender/crash_report_sender.vcproj index fc131ef5..76a579b4 100644 --- a/src/client/windows/sender/crash_report_sender.vcproj +++ b/src/client/windows/sender/crash_report_sender.vcproj @@ -41,7 +41,7 @@ Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\.."
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB;WIN32_LEAN_AND_MEAN"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -104,7 +104,7 @@ <Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\.."
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;WIN32_LEAN_AND_MEAN"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
@@ -165,7 +165,7 @@ Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\.."
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB;WIN32_LEAN_AND_MEAN"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@@ -228,7 +228,7 @@ <Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\.."
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;WIN32_LEAN_AND_MEAN"
RuntimeLibrary="0"
UsePrecompiledHeader="0"
WarningLevel="3"
|