Work around windows.h #defining GetMessage().
This commit is contained in:
parent
6f9bc71ffd
commit
709ea28f32
@ -117,6 +117,24 @@
|
||||
#else
|
||||
#include <iosfwd>
|
||||
#endif
|
||||
|
||||
#if defined(_WIN32) && defined(GetMessage)
|
||||
// windows.h defines GetMessage() as a macro. Let's re-define it as an inline
|
||||
// function. This is necessary because Reflection has a method called
|
||||
// GetMessage() which we don't want overridden. The inline function should be
|
||||
// equivalent for C++ users.
|
||||
inline BOOL GetMessage_Win32(
|
||||
LPMSG lpMsg, HWND hWnd,
|
||||
UINT wMsgFilterMin, UINT wMsgFilterMax) {
|
||||
return GetMessage(lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax);
|
||||
}
|
||||
#undef GetMessage
|
||||
inline BOOL GetMessage(
|
||||
LPMSG lpMsg, HWND hWnd,
|
||||
UINT wMsgFilterMin, UINT wMsgFilterMax) {
|
||||
return GetMessage_Win32(lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax);
|
||||
}
|
||||
#endif
|
||||
|
||||
#include <google/protobuf/stubs/common.h>
|
||||
|
||||
|
@ -32,6 +32,12 @@
|
||||
// Based on original Protocol Buffers design by
|
||||
// Sanjay Ghemawat, Jeff Dean, and others.
|
||||
|
||||
#ifdef _WIN32
|
||||
// Verify that #icnluding windows.h does not break anything (e.g. because
|
||||
// windows.h #defines GetMessage() as a macro).
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
#include <google/protobuf/test_util.h>
|
||||
#include <google/protobuf/descriptor.h>
|
||||
#include <google/protobuf/message.h>
|
||||
|
@ -58,6 +58,7 @@ string GetCapturedTestStderr();
|
||||
// For use with ScopedMemoryLog::GetMessages(). Inside Google the LogLevel
|
||||
// constants don't have the LOGLEVEL_ prefix, so the code that used
|
||||
// ScopedMemoryLog refers to LOGLEVEL_ERROR as just ERROR.
|
||||
#undef ERROR // defend against promiscuous windows.h
|
||||
static const LogLevel ERROR = LOGLEVEL_ERROR;
|
||||
|
||||
// Receives copies of all LOG(ERROR) messages while in scope. Sample usage:
|
||||
|
Loading…
Reference in New Issue
Block a user