summaryrefslogtreecommitdiff
path: root/external
diff options
context:
space:
mode:
authorVladimir Glazounov <vg@openoffice.org>2008-06-06 15:47:35 +0000
committerVladimir Glazounov <vg@openoffice.org>2008-06-06 15:47:35 +0000
commit788e88c329ee37ea25fb9e6335cfb1e808fcc5eb (patch)
treedce7dbe8294947387e78b2a8c2dab009697e0c28 /external
parentc43267335d05fef7b3703d31bd86d02dc7555371 (diff)
INTEGRATION: CWS mingwport13 (1.5.16); FILE MERGED
2008/05/05 11:54:57 vg 1.5.16.1: #i88772# MinGW fixes for DEV300
Diffstat (limited to 'external')
-rw-r--r--external/mingwheaders/mingw_headers.patch3700
1 files changed, 1910 insertions, 1790 deletions
diff --git a/external/mingwheaders/mingw_headers.patch b/external/mingwheaders/mingw_headers.patch
index 2695564e1dfe..d3bc1e5cbb3a 100644
--- a/external/mingwheaders/mingw_headers.patch
+++ b/external/mingwheaders/mingw_headers.patch
@@ -44,7 +44,7 @@
* NOTE: The constants structs and typedefs below should be defined in the
@@ -52,7 +55,7 @@
* The type of function that is expected as an exception handler to be
- * installed with _try1.
+ * installed with __try1.
*/
-typedef EXCEPTION_DISPOSITION (*PEXCEPTION_HANDLER)
+typedef EXCEPTION_DISPOSITION (* PEXCEPTION_HANDLER)
@@ -176,17 +176,17 @@
#endif /* Not RC_INVOKED */
--- include/tchar.h.orig 2006-03-26 09:21:36.000000000 +0900
+++ include/tchar.h 2006-03-26 09:21:42.000000000 +0900
-@@ -221,6 +221,9 @@
- #define _trewinddir _wrewinddir
+@@ -223,6 +223,9 @@
#define _ttelldir _wtelldir
#define _tseekdir _wseekdir
-+
+
+#define _ttempnam _wtempnam
+
-
++
#else /* Not _UNICODE */
-@@ -405,6 +408,8 @@
+ /*
+@@ -407,6 +410,8 @@
#define _ttelldir telldir
#define _tseekdir seekdir
@@ -212,19 +212,6 @@
REFERENCE_TIME AvgTimePerFrame;
BITMAPINFOHEADER bmiHeader;
union {
---- include/basetyps.h.orig 2006-11-19 08:08:30.000000000 +0900
-+++ include/basetyps.h 2006-09-17 12:12:06.000000000 +0900
-@@ -124,7 +124,10 @@
- #define UUID_DEFINED
- typedef GUID UUID;
- #endif /* UUID_DEFINED */
-+#ifndef __IID_DEFINED__
-+#define __IID_DEFINED__
- typedef GUID IID;
-+#endif
- typedef GUID CLSID;
- typedef CLSID *LPCLSID;
- typedef IID *LPIID;
--- include/bdatypes.h.orig 2006-11-19 08:08:30.000000000 +0900
+++ include/bdatypes.h 2007-01-16 23:21:10.062500000 +0900
@@ -17,9 +17,9 @@
@@ -242,7 +229,7 @@
ULONG ulPID;
--- include/oaidl.h.orig 2006-11-19 08:08:33.000000000 +0900
+++ include/oaidl.h 2007-01-20 09:08:24.625000000 +0900
-@@ -73,6 +73,8 @@
+@@ -78,6 +78,8 @@
typedef _COM_interface ICreateErrorInfo *LPCREATEERRORINFO;
typedef _COM_interface ISupportErrorInfo *LPSUPPORTERRORINFO;
typedef _COM_interface IRecordInfo *LPRECORDINFO;
@@ -251,7 +238,7 @@
extern const IID IID_ITypeLib;
extern const IID IID_ITypeLib2;
-@@ -765,6 +767,29 @@
+@@ -772,6 +774,29 @@
};
#undef INTERFACE
@@ -395,7 +382,7 @@
#if (_WIN32_WINNT >= 0x0501)
typedef struct tagACTCTXA {
ULONG cbSize;
-@@ -1337,8 +1339,8 @@
+@@ -1342,8 +1344,8 @@
WINBASEAPI HANDLE WINAPI FindFirstFileExW(LPCWSTR,FINDEX_INFO_LEVELS,PVOID,FINDEX_SEARCH_OPS,PVOID,DWORD);
WINBASEAPI BOOL WINAPI FindFirstFreeAce(PACL,PVOID*);
#if (_WIN32_WINNT >= 0x0500)
@@ -406,7 +393,7 @@
WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointA(LPSTR,LPSTR,DWORD);
WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointW(LPWSTR,LPWSTR,DWORD);
#endif
-@@ -1346,7 +1348,7 @@
+@@ -1351,7 +1353,7 @@
WINBASEAPI BOOL WINAPI FindNextFileA(HANDLE,LPWIN32_FIND_DATAA);
WINBASEAPI BOOL WINAPI FindNextFileW(HANDLE,LPWIN32_FIND_DATAW);
#if (_WIN32_WINNT >= 0x0500)
@@ -415,7 +402,7 @@
WINBASEAPI BOOL WINAPI FindNextVolumeW(HANDLE,LPWSTR,DWORD);
WINBASEAPI BOOL WINAPI FindNextVolumeMountPointA(HANDLE,LPSTR,DWORD);
WINBASEAPI BOOL WINAPI FindNextVolumeMountPointW(HANDLE,LPWSTR,DWORD);
-@@ -1458,10 +1460,10 @@
+@@ -1463,10 +1465,10 @@
WINBASEAPI DWORD WINAPI GetLogicalDrives(void);
WINBASEAPI DWORD WINAPI GetLogicalDriveStringsA(DWORD,LPSTR);
WINBASEAPI DWORD WINAPI GetLogicalDriveStringsW(DWORD,LPWSTR);
@@ -428,7 +415,7 @@
WINBASEAPI BOOL WINAPI GetMailslotInfo(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD);
WINBASEAPI DWORD WINAPI GetModuleFileNameA(HINSTANCE,LPSTR,DWORD);
WINBASEAPI DWORD WINAPI GetModuleFileNameW(HINSTANCE,LPWSTR,DWORD);
-@@ -1499,9 +1501,9 @@
+@@ -1504,9 +1506,9 @@
#endif
WINBASEAPI HANDLE WINAPI GetProcessHeap(VOID);
WINBASEAPI DWORD WINAPI GetProcessHeaps(DWORD,PHANDLE);
@@ -440,7 +427,7 @@
#if (_WIN32_WINNT >= 0x0500)
WINBASEAPI BOOL WINAPI GetProcessIoCounters(HANDLE,PIO_COUNTERS);
#endif
-@@ -1779,9 +1781,9 @@
+@@ -1784,9 +1786,9 @@
WINBASEAPI BOOL WINAPI OpenProcessToken(HANDLE,DWORD,PHANDLE);
WINBASEAPI HANDLE WINAPI OpenSemaphoreA(DWORD,BOOL,LPCSTR);
WINBASEAPI HANDLE WINAPI OpenSemaphoreW(DWORD,BOOL,LPCWSTR);
@@ -452,7 +439,7 @@
WINBASEAPI BOOL WINAPI OpenThreadToken(HANDLE,DWORD,BOOL,PHANDLE);
WINBASEAPI HANDLE WINAPI OpenWaitableTimerA(DWORD,BOOL,LPCSTR);
WINBASEAPI HANDLE WINAPI OpenWaitableTimerW(DWORD,BOOL,LPCWSTR);
-@@ -2016,6 +2018,7 @@
+@@ -2024,6 +2026,7 @@
WINBASEAPI BOOL WINAPI WriteProfileStringA(LPCSTR,LPCSTR,LPCSTR);
WINBASEAPI BOOL WINAPI WriteProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR);
WINBASEAPI DWORD WINAPI WriteTapemark(HANDLE,DWORD,DWORD,BOOL);
@@ -460,7 +447,7 @@
#define Yield()
#if (_WIN32_WINNT >= 0x0501)
WINBASEAPI BOOL WINAPI ZombifyActCtx(HANDLE);
-@@ -2122,9 +2125,9 @@
+@@ -2130,9 +2133,9 @@
#define GetFileAttributesEx GetFileAttributesExW
#define GetFullPathName GetFullPathNameW
#define GetLogicalDriveStrings GetLogicalDriveStringsW
@@ -472,7 +459,7 @@
#define GetModuleFileName GetModuleFileNameW
#define GetModuleHandle GetModuleHandleW
#if (_WIN32_WINNT >= 0x0500)
-@@ -2317,9 +2320,9 @@
+@@ -2325,9 +2328,9 @@
#define GetFileAttributesEx GetFileAttributesExA
#define GetFullPathName GetFullPathNameA
#define GetLogicalDriveStrings GetLogicalDriveStringsA
@@ -526,7 +513,7 @@
#define SM_IMMENABLED 82
#define SM_CXFOCUSBORDER 83
#define SM_CYFOCUSBORDER 84
-@@ -2451,7 +2453,9 @@
+@@ -2473,7 +2475,9 @@
typedef BOOL(CALLBACK *DRAWSTATEPROC)(HDC,LPARAM,WPARAM,int,int);
typedef BOOL(CALLBACK *WNDENUMPROC)(HWND,LPARAM);
typedef BOOL(CALLBACK *ENUMWINDOWSPROC)(HWND,LPARAM);
@@ -536,7 +523,7 @@
typedef BOOL(CALLBACK *NAMEENUMPROCA)(LPSTR,LPARAM);
typedef BOOL(CALLBACK *NAMEENUMPROCW)(LPWSTR,LPARAM);
typedef NAMEENUMPROCA DESKTOPENUMPROCA;
-@@ -3125,6 +3129,7 @@
+@@ -3149,6 +3153,7 @@
UINT cbSize;
DWORD dwTime;
} LASTINPUTINFO,*PLASTINPUTINFO;
@@ -544,7 +531,7 @@
typedef struct tagMONITORINFO {
DWORD cbSize;
RECT rcMonitor;
-@@ -3157,6 +3162,7 @@
+@@ -3181,6 +3186,7 @@
WCHAR szDevice[CCHDEVICENAME];
} MONITORINFOEXW,*LPMONITORINFOEXW;
#endif /* __cplusplus */
@@ -552,7 +539,7 @@
typedef struct tagKBDLLHOOKSTRUCT {
DWORD vkCode;
DWORD scanCode;
-@@ -3525,7 +3531,9 @@
+@@ -3549,7 +3555,9 @@
WINUSERAPI BOOL WINAPI EnumDesktopsA(HWINSTA,DESKTOPENUMPROCA,LPARAM);
WINUSERAPI BOOL WINAPI EnumDesktopsW(HWINSTA,DESKTOPENUMPROCW,LPARAM);
WINUSERAPI BOOL WINAPI EnumDesktopWindows(HDESK,ENUMWINDOWSPROC,LPARAM);
@@ -562,9 +549,9 @@
#ifndef NOGDI
WINUSERAPI BOOL WINAPI EnumDisplaySettingsA(LPCSTR,DWORD,PDEVMODEA);
WINUSERAPI BOOL WINAPI EnumDisplaySettingsW(LPCWSTR,DWORD,PDEVMODEW);
-@@ -3715,8 +3723,10 @@
- WINUSERAPI BOOL WINAPI GetScrollBarInfo(HWND,LONG,PSCROLLBARINFO);
+@@ -3741,8 +3749,10 @@
WINUSERAPI BOOL WINAPI GetTitleBarInfo(HWND,PTITLEBARINFO);
+ #endif
WINUSERAPI BOOL WINAPI GetWindowInfo(HWND,PWINDOWINFO);
+#if (WINVER >= 0x0500)
WINUSERAPI BOOL WINAPI GetMonitorInfoA(HMONITOR,LPMONITORINFO);
@@ -573,7 +560,7 @@
WINUSERAPI UINT WINAPI GetWindowModuleFileNameA(HWND,LPSTR,UINT);
WINUSERAPI UINT WINAPI GetWindowModuleFileNameW(HWND,LPWSTR,UINT);
WINUSERAPI BOOL WINAPI GrayStringA(HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,int,int,int,int,int);
-@@ -4067,7 +4077,9 @@
+@@ -4093,7 +4103,9 @@
typedef CBT_CREATEWNDW CBT_CREATEWND, *LPCBT_CREATEWND;
typedef MDICREATESTRUCTW MDICREATESTRUCT,*LPMDICREATESTRUCT;
typedef MULTIKEYHELPW MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP;
@@ -583,7 +570,7 @@
#define AppendMenu AppendMenuW
#define BroadcastSystemMessage BroadcastSystemMessageW
#define BroadcastSystemMessageEx BroadcastSystemMessageExW
-@@ -4232,7 +4244,9 @@
+@@ -4258,7 +4270,9 @@
typedef CBT_CREATEWNDA CBT_CREATEWND, *LPCBT_CREATEWND;
typedef MDICREATESTRUCTA MDICREATESTRUCT,*LPMDICREATESTRUCT;
typedef MULTIKEYHELPA MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP;
@@ -612,7 +599,7 @@
BOOL WINAPI VerQueryValueA(const LPVOID,LPSTR,LPVOID*,PUINT);
--- include/wtypes.h.orig 2006-11-19 08:08:37.000000000 +0900
+++ include/wtypes.h 2007-01-19 23:05:02.531250000 +0900
-@@ -72,6 +72,19 @@
+@@ -66,6 +66,19 @@
unsigned short asData[1];
}FLAGGED_WORD_BLOB;
@@ -632,7 +619,7 @@
#ifndef OLE2ANSI
typedef WCHAR OLECHAR;
typedef LPWSTR LPOLESTR;
-@@ -100,6 +113,7 @@
+@@ -94,6 +107,7 @@
}_STRUCT_NAME(s);
LONGLONG int64;
} CY;
@@ -640,11 +627,9 @@
typedef double DATE;
typedef struct tagBSTRBLOB {
ULONG cbSize;
-@@ -163,7 +177,49 @@
- ULONGLONG Lo64;
- } DUMMYUNIONNAME2;
- } DECIMAL;
-+typedef DECIMAL *LPDECIMAL;
+@@ -165,6 +179,52 @@
+ #define DECIMAL_SETZERO(d) {(d).Lo64=(d).Hi32=(d).signscale=0;}
+ #endif
typedef void *HMETAFILEPICT;
+
+typedef enum tagTYSPEC {
@@ -687,6 +672,11 @@
+ DWORD dwVersionHi;
+ DWORD dwVersionLo;
+} QUERYCONTEXT;
++typedef struct
++{
++ GUID fmtid;
++ DWORD pid;
++} PROPERTYKEY;
#ifdef __cplusplus
}
#endif
@@ -703,7 +693,7 @@
/* All the headers include this file. */
#include <_mingw.h>
--- include/adoctint.h.orig 2005-04-04 18:50:18.000000000 +0900
-+++ include/adoctint.h 2007-01-02 17:41:58.437500000 +0900
++++ include/adoctint.h 2007-12-14 23:43:07.754125000 +0900
@@ -11,6 +11,9 @@
//--------------------------------------------------------------------
#ifndef _ADOCTINT_H_
@@ -714,7 +704,7 @@
#ifndef _INC_TCHAR
#include <tchar.h>
-@@ -3310,11 +3313,11 @@
+@@ -2489,11 +2492,11 @@
#endif /* __Procedure_INTERFACE_DEFINED__ */
EXTERN_C const CLSID CLSID_Catalog;
#ifdef __cplusplus
@@ -728,7 +718,7 @@
#endif
#ifndef __Property_INTERFACE_DEFINED__
#define __Property_INTERFACE_DEFINED__
-@@ -3503,23 +3506,23 @@
+@@ -2635,23 +2638,23 @@
#endif /* __Property_INTERFACE_DEFINED__ */
EXTERN_C const CLSID CLSID_Group;
#ifdef __cplusplus
@@ -757,6 +747,17 @@
#endif
#ifndef __Tables_INTERFACE_DEFINED__
#define __Tables_INTERFACE_DEFINED__
+@@ -3332,8 +3335,8 @@
+ /* [in] */ VARIANT Item,
+ /* [defaultvalue][in] */ KeyTypeEnum Type,
+ /* [optional][in] */ VARIANT Column,
+- /* [defaultvalue][in] */ __RPC__in BSTR RelatedADOTable = L"",
+- /* [defaultvalue][in] */ __RPC__in BSTR RelatedADOColumn = L"") = 0;
++ /* [defaultvalue][in] */ __RPC__in BSTR RelatedADOTable = const_cast<BSTR>(L""),
++ /* [defaultvalue][in] */ __RPC__in BSTR RelatedADOColumn = const_cast<BSTR>(L"")) = 0;
+
+ virtual /* [helpcontext] */ HRESULT STDMETHODCALLTYPE Delete(
+ /* [in] */ VARIANT Item) = 0;
--- include/adodef.h.orig 2005-04-04 18:50:18.000000000 +0900
+++ include/adodef.h 2007-01-05 21:48:51.265625000 +0900
@@ -12,6 +12,9 @@
@@ -768,33 +769,20 @@
+#endif
// TYPELIB MAJOR VERSIONS
- #define ADO_MAJOR 2
-@@ -47,4 +50,4 @@
- #define ADOMD_TYPELIB_UUID uuid(22813728-8BD3-11D0-B4EF-00A0C9138CA4)
- #define JRO_TYPELIB_UUID uuid(AC3B8B4C-B6CA-11d1-9F31-00C04FC29D52)
-
--#endif // _ADODEF_H_
-\ No newline at end of file
-+#endif // _ADODEF_H_
+ #define ADO_MAJOR 6
--- include/adoguids.h.orig 2005-04-04 18:50:18.000000000 +0900
+++ include/adoguids.h 2007-01-05 21:50:10.265625000 +0900
-@@ -11,6 +11,9 @@
+@@ -11,6 +11,10 @@
+ //-----------------------------------------------------------------------------
+
- #ifndef __ADOGUIDS_H__
- #define __ADOGUIDS_H__
+#if __GNUC__ >=3
+#pragma GCC system_header
+#endif
-
++
#define STRING_GUID(l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) l##-##w1##-##w2##-##b1##b2##-##b3##b4##b5##b6##b7##b8
-@@ -27,4 +30,4 @@
-
- #undef IMMEDIATE_GUID_USE
-
--#endif //__ADOGUIDS_H__
-\ No newline at end of file
-+#endif //__ADOGUIDS_H__
+ #if defined(__midl) || defined(GEN_MIDL)
--- include/adoint.h.orig 2005-04-04 18:50:18.000000000 +0900
+++ include/adoint.h 2007-01-02 17:36:43.593750000 +0900
@@ -11,6 +11,9 @@
@@ -807,7 +795,7 @@
#ifndef _INC_TCHAR
#include <tchar.h>
-@@ -4273,7 +4276,7 @@
+@@ -3494,7 +3497,7 @@
#endif /* __ADOConnectionConstruction_INTERFACE_DEFINED__ */
EXTERN_C const CLSID CLSID_Connection;
#ifdef __cplusplus
@@ -816,7 +804,7 @@
#endif
#ifndef ___Record_INTERFACE_DEFINED__
#define ___Record_INTERFACE_DEFINED__
-@@ -4740,7 +4743,7 @@
+@@ -3793,7 +3796,7 @@
#endif /* ___Record_INTERFACE_DEFINED__ */
EXTERN_C const CLSID CLSID_Record;
#ifdef __cplusplus
@@ -825,7 +813,7 @@
#endif
#ifndef ___Stream_INTERFACE_DEFINED__
#define ___Stream_INTERFACE_DEFINED__
-@@ -5281,7 +5284,7 @@
+@@ -4123,7 +4126,7 @@
#endif /* ___Stream_INTERFACE_DEFINED__ */
EXTERN_C const CLSID CLSID_Stream;
#ifdef __cplusplus
@@ -834,7 +822,7 @@
#endif
#ifndef __ADORecordConstruction_INTERFACE_DEFINED__
#define __ADORecordConstruction_INTERFACE_DEFINED__
-@@ -5616,11 +5619,11 @@
+@@ -4405,11 +4408,11 @@
#endif /* __ADOCommandConstruction_INTERFACE_DEFINED__ */
EXTERN_C const CLSID CLSID_Command;
#ifdef __cplusplus
@@ -848,7 +836,7 @@
#endif
#ifndef __Recordset15_INTERFACE_DEFINED__
#define __Recordset15_INTERFACE_DEFINED__
-@@ -10662,7 +10665,7 @@
+@@ -8305,7 +8308,7 @@
#endif /* ___Parameter_INTERFACE_DEFINED__ */
EXTERN_C const CLSID CLSID_Parameter;
#ifdef __cplusplus
@@ -857,16 +845,73 @@
#endif
#ifndef __Parameters_INTERFACE_DEFINED__
#define __Parameters_INTERFACE_DEFINED__
-@@ -11124,4 +11127,4 @@
- #define ADOStream _ADOStream
+--- include/bcrypt.h.orig 2008-01-18 22:17:12.000000000 +0900
++++ include/bcrypt.h 2008-04-10 22:57:54.410750000 +0900
+@@ -40,12 +40,6 @@
+ #define OPTIONAL
+ #endif
+
+-#if !defined(__midl)
+-#define BCRYPT_STRUCT_ALIGNMENT __declspec(align(BCRYPT_OBJECT_ALIGNMENT))
+-#else
+-#define BCRYPT_STRUCT_ALIGNMENT
+-#endif /*!defined(__midl)*/
+-
+ //
+ // Alignment macros
+ //
+@@ -57,11 +51,7 @@
+ #define BCRYPT_OBJECT_ALIGNMENT 4
+ #endif
+
+-#if !defined(__midl)
+-#define BCRYPT_STRUCT_ALIGNMENT __declspec(align(BCRYPT_OBJECT_ALIGNMENT))
+-#else
+ #define BCRYPT_STRUCT_ALIGNMENT
+-#endif /*!defined(__midl)*/
+
+ //
+ // DeriveKey KDF Types
+@@ -108,7 +98,11 @@
+
+ typedef BCRYPT_KEY_LENGTHS_STRUCT BCRYPT_AUTH_TAG_LENGTHS_STRUCT;
+
+-#pragma pack(push, BCRYPT_OBJECT_ALIGNMENT)
++#if defined(_IA64_) || defined(_AMD64_)
++#pragma pack(push, 8)
++#else
++#pragma pack(push, 4)
++#endif
+ typedef BCRYPT_STRUCT_ALIGNMENT struct _BCRYPT_OID
+ {
+ ULONG cbOID;
+--- include/commctrl.h.orig 2008-01-18 22:17:14.000000000 +0900
++++ include/commctrl.h 2008-03-27 00:30:22.281000000 +0900
+@@ -14,6 +14,14 @@
+ #ifndef _INC_COMMCTRL
+ #define _INC_COMMCTRL
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static
++#endif
++
+ #if defined(_MSC_VER) && (_MSC_VER >= 1200)
+ #pragma warning(push)
+ #pragma warning(disable:4001) /* nonstandard extension : single line comment */
+@@ -23,7 +31,7 @@
+
+ #ifndef _HRESULT_DEFINED
+ #define _HRESULT_DEFINED
+-typedef __success(return >= 0) long HRESULT;
++typedef long HRESULT;
+ #endif // !_HRESULT_DEFINED
--#endif // _ADOINT_H_
-\ No newline at end of file
-+#endif // _ADOINT_H_
---- include/commctrl.h.orig 2005-04-14 17:54:38.000000000 +0900
-+++ include/commctrl.h 2006-12-31 17:17:40.093750000 +0900
-@@ -349,8 +349,10 @@
+ #ifndef NOUSER
+@@ -369,8 +377,10 @@
// Shell reserved (0U-580U) - (0U-589U)
@@ -877,33 +922,55 @@
#define TBN_FIRST (0U-700U) // toolbar
#define TBN_LAST (0U-720U)
-@@ -7005,8 +7007,10 @@
- #if (_WIN32_WINNT >= 0x501)
+@@ -683,7 +693,7 @@
+ #define ILP_DOWNLEVEL 1 // Write or reads the stream using downlevel sematics.
+
+
+-WINCOMMCTRLAPI HRESULT WINAPI ImageList_ReadEx(DWORD dwFlags, LPSTREAM pstm, REFIID riid, PVOID* ppv);
++//WINCOMMCTRLAPI HRESULT WINAPI ImageList_ReadEx(DWORD dwFlags, LPSTREAM pstm, REFIID riid, PVOID* ppv);
+ WINCOMMCTRLAPI HRESULT WINAPI ImageList_WriteEx(HIMAGELIST himl, DWORD dwFlags, LPSTREAM pstm);
+ #endif
+
+@@ -713,7 +723,7 @@
+ #endif
+
+ #if (_WIN32_WINNT >= 0x0501)
+-WINCOMMCTRLAPI HRESULT WINAPI HIMAGELIST_QueryInterface(HIMAGELIST himl, REFIID riid, void** ppv);
++//WINCOMMCTRLAPI HRESULT WINAPI HIMAGELIST_QueryInterface(HIMAGELIST himl, REFIID riid, void** ppv);
+
+ #ifdef __cplusplus
+ FORCEINLINE HIMAGELIST IImageListToHIMAGELIST(struct IImageList *himl)
+@@ -8056,8 +8066,10 @@
+ #if (_WIN32_WINNT >= 0x0501)
// custom combobox control messages
+#ifndef CB_SETMINVISIBLE
- #define CB_SETMINVISIBLE (CBM_FIRST + 1)
+ #define CB_SETMINVISIBLE (CBM_FIRST + 1)
#define CB_GETMINVISIBLE (CBM_FIRST + 2)
+#endif
+ #define CB_SETCUEBANNER (CBM_FIRST + 3)
+ #define CB_GETCUEBANNER (CBM_FIRST + 4)
- #define ComboBox_SetMinVisible(hwnd, iMinVisible) \
- (BOOL)SNDMSG((hwnd), CB_SETMINVISIBLE, (WPARAM)iMinVisible, 0)
-@@ -7319,6 +7323,7 @@
- #if defined(ISOLATION_AWARE_ENABLED) && (ISOLATION_AWARE_ENABLED != 0)
+@@ -8651,7 +8663,7 @@
+ #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */
+ #if defined(ISOLATION_AWARE_ENABLED) && (ISOLATION_AWARE_ENABLED != 0)
+-#include "commctrl.inl"
++//#include "commctrl.inl"
+ #endif /* ISOLATION_AWARE_ENABLED */
+ #endif /* RC */
-+#if 0
- #if !defined(ISOLATION_AWARE_USE_STATIC_LIBRARY)
- #define ISOLATION_AWARE_USE_STATIC_LIBRARY 0
+@@ -8666,6 +8678,10 @@
+ #pragma warning(pop)
#endif
-@@ -10499,6 +10504,7 @@
- #define Str_SetPtrW IsolationAwareStr_SetPtrW
- #define UninitializeFlatSB IsolationAwareUninitializeFlatSB
- #define _TrackMouseEvent IsolationAware_TrackMouseEvent
-+#endif
- #endif /* ISOLATION_AWARE_ENABLED */
- #endif /* RC */
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif /* _INC_COMMCTRL */
+
+
--- include/control.h.orig 2005-04-14 17:54:38.000000000 +0900
+++ include/control.h 2007-01-02 22:16:33.031250000 +0900
@@ -1,3 +1,6 @@
@@ -913,6 +980,15 @@
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
+--- include/dispex.h.orig 2007-03-31 19:44:54.000000000 +0900
++++ include/dispex.h 2007-03-24 17:40:20.000000000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+
+
+ /* this ALWAYS GENERATED file contains the definitions for the interfaces */
--- include/filter.h.orig 2005-04-14 17:54:44.000000000 +0900
+++ include/filter.h 2007-01-02 11:15:03.671875000 +0900
@@ -1,3 +1,6 @@
@@ -942,12 +1018,7 @@
* Copyright (c) 1998-2001, Microsoft Corp. All Rights Reserved.
--- include/gdiplusenums.h.orig 2003-03-26 16:34:34.000000000 +0900
+++ include/gdiplusenums.h 2004-12-30 20:42:34.000000000 +0900
-@@ -531,11 +531,11 @@
- // We have to change the WMF record numbers so that they don't conflict with
- // the EMF and EMF+ record numbers.
-
--enum EmfPlusRecordType;
-+// enum EmfPlusRecordType;
+@@ -542,7 +542,7 @@
#define GDIP_EMFPLUS_RECORD_BASE 0x00004000
#define GDIP_WMF_RECORD_BASE 0x00010000
@@ -965,9 +1036,9 @@
/**************************************************************************\
*
* Copyright (c) 1998-2001, Microsoft Corp. All Rights Reserved.
---- include/gdiplusheaders.h.orig 2003-03-26 16:34:34.000000000 +0900
-+++ include/gdiplusheaders.h 2004-12-30 20:58:22.000000000 +0900
-@@ -650,7 +650,7 @@
+--- include/gdiplusheaders.h.orig 2008-01-18 22:17:46.000000000 +0900
++++ include/gdiplusheaders.h 2008-03-28 21:44:34.907750000 +0900
+@@ -704,7 +704,7 @@
class CachedBitmap : public GdiplusBase
{
@@ -976,6 +1047,15 @@
public:
CachedBitmap(IN Bitmap *bitmap,
+@@ -888,7 +888,7 @@
+
+ UINT GetDownLevelRasterizationLimit() const;
+
+- static UINT Metafile::EmfToWmfBits(
++ static UINT EmfToWmfBits(
+ IN HENHMETAFILE hemf,
+ IN UINT cbData16,
+ OUT LPBYTE pData16,
--- include/gdiplusimageattributes.h.orig 2005-04-14 17:54:44.000000000 +0900
+++ include/gdiplusimageattributes.h 2007-01-02 10:21:23.031250000 +0900
@@ -32,6 +32,9 @@
@@ -990,7 +1070,7 @@
--- include/gdiplusimaging.h.orig 2003-03-26 16:34:34.000000000 +0900
+++ include/gdiplusimaging.h 2007-12-04 21:16:38.000000000 +0900
-@@ -153,7 +153,7 @@
+@@ -160,7 +160,7 @@
UINT Width;
UINT Height;
INT Stride;
@@ -1035,18 +1115,50 @@
/**************************************************************************\
*
* Copyright (c) 1998-2001, Microsoft Corp. All Rights Reserved.
---- include/imagehlp.h.orig 2005-04-14 17:54:44.000000000 +0900
-+++ include/imagehlp.h 2006-04-04 23:22:28.000000000 +0900
-@@ -376,7 +376,7 @@
+--- include/gdiplusstringformat.h.orig 2005-04-14 17:54:44.000000000 +0900
++++ include/gdiplusstringformat.h 2007-08-29 23:10:06.497500000 +0900
+@@ -217,7 +217,7 @@
+ ));
+ }
+
+- StringTrimming StringFormat::GetTrimming() const
++ StringTrimming GetTrimming() const
+ {
+ StringTrimming trimming;
+ SetStatus(DllExports::GdipGetStringFormatTrimming(
+--- include/imagehlp.h.orig 2008-03-22 06:10:42.084500000 +1000
++++ include/imagehlp.h 2008-03-24 02:29:51.398250000 +1000
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+ /*++ BUILD Version: 0000 Increment this if a change has global effects
+
+ Copyright (c) Microsoft Corporation. All rights reserved.
+@@ -59,6 +62,13 @@
+ #include <wintrust.h>
+ #endif
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static
++#endif
+
+ #ifdef __cplusplus
+ extern "C" {
+@@ -407,7 +417,7 @@
IMAGEAPI
TouchFileTimes (
- HANDLE FileHandle,
-- PSYSTEMTIME pSystemTime
-+ LPSYSTEMTIME pSystemTime
+ __in HANDLE FileHandle,
+- __in_opt PSYSTEMTIME pSystemTime
++ __in_opt LPSYSTEMTIME pSystemTime
);
BOOL
-@@ -2592,7 +2592,7 @@
+@@ -3950,7 +3960,7 @@
// ThreadId must be 4 bytes on all architectures.
//
@@ -1055,6 +1167,236 @@
typedef struct _MINIDUMP_THREAD {
ULONG32 ThreadId;
+@@ -4684,5 +4694,9 @@
+ #endif
+
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif // _IMAGEHLP_
+
+--- include/intsafe.h.orig 2008-03-22 06:10:42.100125000 +1000
++++ include/intsafe.h 2008-03-24 02:25:53.710750000 +1000
+@@ -111,7 +111,7 @@
+
+
+
+-typedef __success(return >= 0) long HRESULT;
++typedef long HRESULT;
+
+ #define SUCCEEDED(hr) (((HRESULT)(hr)) >= 0)
+ #define FAILED(hr) (((HRESULT)(hr)) < 0)
+@@ -134,7 +134,7 @@
+ || defined(_M_IA64) || defined(_M_AMD64)
+ #define UInt32x32To64(a, b) (((unsigned __int64)((unsigned int)(a))) * ((unsigned __int64)((unsigned int)(b))))
+ #elif defined(_M_IX86)
+-#define UInt32x32To64(a, b) ((unsigned __int64)(((unsigned __int64)((unsigned int)(a))) * ((unsigned int)(b))))
++//#define UInt32x32To64(a, b) ((unsigned __int64)(((unsigned __int64)((unsigned int)(a))) * ((unsigned int)(b))))
+ #else
+ #error Must define a target architecture.
+ #endif
+@@ -142,22 +142,22 @@
+ //
+ // Min/Max type values
+ //
+-#define INT8_MIN (-127i8 - 1)
++#define INT8_MIN ((signed char)(-127) - 1)
+ #define SHORT_MIN (-32768)
+-#define INT16_MIN (-32767i16 - 1)
+-#define INT_MIN (-2147483647 - 1)
+-#define INT32_MIN (-2147483647i32 - 1)
+-#define LONG_MIN (-2147483647L - 1)
+-#define LONGLONG_MIN (-9223372036854775807i64 - 1)
+-#define LONG64_MIN (-9223372036854775807i64 - 1)
+-#define INT64_MIN (-9223372036854775807i64 - 1)
++#define INT16_MIN ((short)(-32767) - 1)
++//#define INT_MIN (-2147483647 - 1)
++#define INT32_MIN (-2147483647L - 1)
++//#define LONG_MIN (-2147483647L - 1)
++#define LONGLONG_MIN (-9223372036854775807ll - 1)
++#define LONG64_MIN (-9223372036854775807ll - 1)
++#define INT64_MIN (-9223372036854775807ll - 1)
+ #define INT128_MIN (-170141183460469231731687303715884105727i128 - 1)
+
+ #ifdef _WIN64
+-#define INT_PTR_MIN (-9223372036854775807i64 - 1)
+-#define LONG_PTR_MIN (-9223372036854775807i64 - 1)
+-#define PTRDIFF_T_MIN (-9223372036854775807i64 - 1)
+-#define SSIZE_T_MIN (-9223372036854775807i64 - 1)
++#define INT_PTR_MIN (-9223372036854775807ll - 1)
++#define LONG_PTR_MIN (-9223372036854775807ll - 1)
++#define PTRDIFF_T_MIN (-9223372036854775807ll - 1)
++#define SSIZE_T_MIN (-9223372036854775807ll - 1)
+ #else
+ #define INT_PTR_MIN (-2147483647 - 1)
+ #define LONG_PTR_MIN (-2147483647L - 1)
+@@ -165,44 +165,44 @@
+ #define SSIZE_T_MIN (-2147483647L - 1)
+ #endif
+
+-#define INT8_MAX 127i8
+-#define UINT8_MAX 0xffui8
++#define INT8_MAX ((signed char)(127))
++#define UINT8_MAX ((unsigned char)(0xff))
+ #define BYTE_MAX 0xff
+ #define SHORT_MAX 32767
+-#define INT16_MAX 32767i16
++#define INT16_MAX ((short)(32767))
+ #define USHORT_MAX 0xffff
+-#define UINT16_MAX 0xffffui16
++#define UINT16_MAX ((unsigned short)(0xffff))
+ #define WORD_MAX 0xffff
+ #define INT_MAX 2147483647
+-#define INT32_MAX 2147483647i32
++#define INT32_MAX 2147483647L
+ #define UINT_MAX 0xffffffff
+-#define UINT32_MAX 0xffffffffui32
++#define UINT32_MAX 0xffffffffu
+ #define LONG_MAX 2147483647L
+ #define ULONG_MAX 0xffffffffUL
+ #define DWORD_MAX 0xffffffffUL
+-#define LONGLONG_MAX 9223372036854775807i64
+-#define LONG64_MAX 9223372036854775807i64
+-#define INT64_MAX 9223372036854775807i64
+-#define ULONGLONG_MAX 0xffffffffffffffffui64
+-#define DWORDLONG_MAX 0xffffffffffffffffui64
+-#define ULONG64_MAX 0xffffffffffffffffui64
+-#define DWORD64_MAX 0xffffffffffffffffui64
+-#define UINT64_MAX 0xffffffffffffffffui64
++#define LONGLONG_MAX 9223372036854775807ll
++#define LONG64_MAX 9223372036854775807ll
++#define INT64_MAX 9223372036854775807ll
++#define ULONGLONG_MAX 0xffffffffffffffffull
++#define DWORDLONG_MAX 0xffffffffffffffffull
++#define ULONG64_MAX 0xffffffffffffffffull
++#define DWORD64_MAX 0xffffffffffffffffull
++#define UINT64_MAX 0xffffffffffffffffull
+ #define INT128_MAX 170141183460469231731687303715884105727i128
+ #define UINT128_MAX 0xffffffffffffffffffffffffffffffffui128
+
+ #undef SIZE_T_MAX
+
+ #ifdef _WIN64
+-#define INT_PTR_MAX 9223372036854775807i64
+-#define UINT_PTR_MAX 0xffffffffffffffffui64
+-#define LONG_PTR_MAX 9223372036854775807i64
+-#define ULONG_PTR_MAX 0xffffffffffffffffui64
+-#define DWORD_PTR_MAX 0xffffffffffffffffui64
+-#define PTRDIFF_T_MAX 9223372036854775807i64
+-#define SIZE_T_MAX 0xffffffffffffffffui64
+-#define SSIZE_T_MAX 9223372036854775807i64
+-#define _SIZE_T_MAX 0xffffffffffffffffui64
++#define INT_PTR_MAX 9223372036854775807ll
++#define UINT_PTR_MAX 0xffffffffffffffffull
++#define LONG_PTR_MAX 9223372036854775807ll
++#define ULONG_PTR_MAX 0xffffffffffffffffull
++#define DWORD_PTR_MAX 0xffffffffffffffffull
++#define PTRDIFF_T_MAX 9223372036854775807ll
++#define SIZE_T_MAX 0xffffffffffffffffull
++#define SSIZE_T_MAX 9223372036854775807ll
++#define _SIZE_T_MAX 0xffffffffffffffffull
+ #else
+ #define INT_PTR_MAX 2147483647
+ #define UINT_PTR_MAX 0xffffffff
+@@ -219,39 +219,39 @@
+ //
+ // It is common for -1 to be used as an error value
+ //
+-#define INT8_ERROR (-1i8)
+-#define UINT8_ERROR 0xffui8
++#define INT8_ERROR (((signed char)(-1)))
++#define UINT8_ERROR ((unsigned char)(0xff))
+ #define BYTE_ERROR 0xff
+ #define SHORT_ERROR (-1)
+-#define INT16_ERROR (-1i16)
++#define INT16_ERROR (((short)(-1)))
+ #define USHORT_ERROR 0xffff
+-#define UINT16_ERROR 0xffffui16
++#define UINT16_ERROR ((unsigned short)(0xffff))
+ #define WORD_ERROR 0xffff
+ #define INT_ERROR (-1)
+-#define INT32_ERROR (-1i32)
++#define INT32_ERROR (-1L)
+ #define UINT_ERROR 0xffffffff
+-#define UINT32_ERROR 0xffffffffui32
++#define UINT32_ERROR 0xffffffffuL
+ #define LONG_ERROR (-1L)
+ #define ULONG_ERROR 0xffffffffUL
+ #define DWORD_ERROR 0xffffffffUL
+-#define LONGLONG_ERROR (-1i64)
+-#define LONG64_ERROR (-1i64)
+-#define INT64_ERROR (-1i64)
+-#define ULONGLONG_ERROR 0xffffffffffffffffui64
+-#define DWORDLONG_ERROR 0xffffffffffffffffui64
+-#define ULONG64_ERROR 0xffffffffffffffffui64
+-#define UINT64_ERROR 0xffffffffffffffffui64
+-
+-#ifdef _WIN64
+-#define INT_PTR_ERROR (-1i64)
+-#define UINT_PTR_ERROR 0xffffffffffffffffui64
+-#define LONG_PTR_ERROR (-1i64)
+-#define ULONG_PTR_ERROR 0xffffffffffffffffui64
+-#define DWORD_PTR_ERROR 0xffffffffffffffffui64
+-#define PTRDIFF_T_ERROR (-1i64)
+-#define SIZE_T_ERROR 0xffffffffffffffffui64
+-#define SSIZE_T_ERROR (-1i64)
+-#define _SIZE_T_ERROR 0xffffffffffffffffui64
++#define LONGLONG_ERROR (-1ll)
++#define LONG64_ERROR (-1ll)
++#define INT64_ERROR (-1ll)
++#define ULONGLONG_ERROR 0xffffffffffffffffull
++#define DWORDLONG_ERROR 0xffffffffffffffffull
++#define ULONG64_ERROR 0xffffffffffffffffull
++#define UINT64_ERROR 0xffffffffffffffffull
++
++#ifdef _WIN64
++#define INT_PTR_ERROR (-1ll)
++#define UINT_PTR_ERROR 0xffffffffffffffffull
++#define LONG_PTR_ERROR (-1ll)
++#define ULONG_PTR_ERROR 0xffffffffffffffffull
++#define DWORD_PTR_ERROR 0xffffffffffffffffull
++#define PTRDIFF_T_ERROR (-1ll)
++#define SIZE_T_ERROR 0xffffffffffffffffull
++#define SSIZE_T_ERROR (-1ll)
++#define _SIZE_T_ERROR 0xffffffffffffffffull
+ #else
+ #define INT_PTR_ERROR (-1)
+ #define UINT_PTR_ERROR 0xffffffff
+@@ -7570,13 +7570,13 @@
+
+ // a * d must be less than 2^32 or there would be bits set in the high 64-bits
+ ad = (((ULONGLONG)dw_a) * (ULONGLONG)dw_d);
+- if ((ad & 0xffffffff00000000) == 0)
++ if ((ad & 0xffffffff00000000ULL) == 0)
+ {
+ dw_b = (DWORD)ullMultiplicand;
+
+ // b * c must be less than 2^32 or there would be bits set in the high 64-bits
+ bc = (((ULONGLONG)dw_b) * (ULONGLONG)dw_c);
+- if ((bc & 0xffffffff00000000) == 0)
++ if ((bc & 0xffffffff00000000ULL) == 0)
+ {
+ // now sum them all up checking for overflow.
+ // shifting is safe because we already checked for overflow above
+@@ -8015,10 +8015,14 @@
+ // Macros that are no longer used in this header but which clients may
+ // depend on being defined here.
+ //
+-#define LOWORD(_dw) ((WORD)(((DWORD_PTR)(_dw)) & 0xffff))
+-#define HIWORD(_dw) ((WORD)((((DWORD_PTR)(_dw)) >> 16) & 0xffff))
++//#define LOWORD(_dw) ((WORD)(((DWORD_PTR)(_dw)) & 0xffff))
++//#define HIWORD(_dw) ((WORD)((((DWORD_PTR)(_dw)) >> 16) & 0xffff))
+ #define LODWORD(_qw) ((DWORD)(_qw))
+ #define HIDWORD(_qw) ((DWORD)(((_qw) >> 32) & 0xffffffff))
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif // _INTSAFE_H_INCLUDED_
+
--- include/mapinls.h.orig 2005-04-14 17:54:46.000000000 +0900
+++ include/mapinls.h 2006-12-30 20:46:11.125000000 +0900
@@ -72,7 +72,7 @@
@@ -1090,12 +1432,13 @@
#define lstrcpyA lstrcpy
--- include/mapiwin.h.orig 2003-03-26 16:34:38.000000000 +0900
+++ include/mapiwin.h 2004-12-28 21:41:14.000000000 +0900
-@@ -428,4 +428,4 @@
+@@ -428,5 +428,5 @@
#endif
#endif /* __MAPIWIN_H__ */
-
+
+
--- include/msdasc.h.orig 2005-04-04 18:50:18.000000000 +0900
+++ include/msdasc.h 2007-01-05 21:47:51.515625000 +0900
@@ -1,3 +1,6 @@
@@ -1116,8 +1459,43 @@
osvi.dwOSVersionInfoSize = sizeof(osvi);
GetVersionExA((OSVERSIONINFOA*)&osvi);
return (VER_PLATFORM_WIN32_NT == osvi.dwPlatformId);
---- include/ocidl.h.orig 2005-04-14 17:54:54.000000000 +0900
-+++ include/ocidl.h 2007-01-02 17:17:24.328125000 +0900
+--- include/ntquery.h.orig 2008-01-18 22:17:30.000000000 +0900
++++ include/ntquery.h 2008-03-27 00:04:44.749750000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+ //+---------------------------------------------------------------------------
+ //
+ // Microsoft Windows
+@@ -18,6 +21,14 @@
+
+ #include "stgprop.h"
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static
++#endif
++
+ #if defined(__cplusplus)
+ extern "C"
+ {
+@@ -404,6 +415,10 @@
+ }
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif // __NTQUERY_H__
+
+
+--- include/ocidl.h.orig 2008-03-22 06:10:42.272000000 +1000
++++ include/ocidl.h 2008-03-24 02:27:18.132625000 +1000
@@ -1,3 +1,6 @@
+#if __GNUC__ >=3
+#pragma GCC system_header
@@ -1125,7 +1503,22 @@
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-@@ -5767,11 +5770,13 @@
+@@ -294,6 +297,14 @@
+ #include "servprov.h"
+ #include "urlmon.h"
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static
++#endif
++
+ #ifdef __cplusplus
+ extern "C"{
+ #endif
+@@ -4595,11 +4606,13 @@
HITRESULT_HIT = 3
} HITRESULT;
@@ -1139,29 +1532,35 @@
typedef struct tagExtentInfo
{
---- include/oleauto.h.orig 2005-04-14 17:54:54.000000000 +0900
-+++ include/oleauto.h 2006-04-08 22:33:24.000000000 +0900
-@@ -392,6 +392,9 @@
- WINOLEAUTAPI VarBoolFromUI8(ULONG64 i64In, VARIANT_BOOL FAR* pboolOut);
- WINOLEAUTAPI VarBoolFromDec(DECIMAL *pdecIn, VARIANT_BOOL *pboolOut);
+@@ -6554,6 +6567,10 @@
+ }
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif
+
+
+--- include/oleauto.h.orig 2008-03-22 06:10:43.225125000 +1000
++++ include/oleauto.h 2008-03-24 02:27:37.304500000 +1000
+@@ -56,6 +56,14 @@
+ /* pull in the MIDL generated header */
+ #include <oaidl.h>
+#define __in
+#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static
++#endif
+
- WINOLEAUTAPI
- VarI1FromUI1(
- __in BYTE bIn,
-@@ -485,6 +488,9 @@
- __out CHAR *pcOut
- );
-+#undef __in
-+#undef __out
-+
- WINOLEAUTAPI VarUI2FromUI1(BYTE bIn, USHORT *puiOut);
- WINOLEAUTAPI VarUI2FromI2(SHORT uiIn, USHORT *puiOut);
- WINOLEAUTAPI VarUI2FromI4(LONG lIn, USHORT *puiOut);
-@@ -880,6 +886,9 @@
+ /*---------------------------------------------------------------------*/
+ /* BSTR API */
+@@ -948,6 +956,9 @@
/* ICreateTypeLib */
/*---------------------------------------------------------------------*/
@@ -1171,7 +1570,7 @@
typedef ICreateTypeLib * LPCREATETYPELIB;
typedef ICreateTypeInfo * LPCREATETYPEINFO;
-@@ -1068,7 +1077,7 @@
+@@ -1160,7 +1171,7 @@
// Declare variant access functions.
@@ -1180,6 +1579,16 @@
#define V_UNION(X, Y) ((X)->n1.n2.n3.Y)
#define V_VT(X) ((X)->n1.n2.vt)
#define V_RECORDINFO(X) ((X)->n1.n2.n3.brecVal.pRecInfo)
+@@ -1242,5 +1253,9 @@
+ #include <poppack.h>
+ #endif // RC_INVOKED
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif // __OLEAUTO_H__
+
--- include/oledb.h.orig 2005-04-04 18:50:18.000000000 +0900
+++ include/oledb.h 2007-01-02 17:16:30.656250000 +0900
@@ -1,3 +1,6 @@
@@ -1189,7 +1598,7 @@
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-@@ -788,7 +791,7 @@
+@@ -797,7 +800,7 @@
//@@@+ V2.0
#if( OLEDBVER >= 0x0200 )
@@ -1198,8 +1607,8 @@
#define _FILETIME_
typedef struct _FILETIME {
DWORD dwLowDateTime;
---- include/oleidl.h.orig 2005-04-14 17:54:54.000000000 +0900
-+++ include/oleidl.h 2006-12-31 08:27:03.031250000 +0900
+--- include/oleidl.h.orig 2008-03-22 06:10:42.350125000 +1000
++++ include/oleidl.h 2008-03-24 02:27:27.195125000 +1000
@@ -1,3 +1,6 @@
+#if __GNUC__ >=3
+#pragma GCC system_header
@@ -1207,17 +1616,118 @@
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
---- include/propidl.h.orig 2005-04-14 17:54:56.000000000 +0900
-+++ include/propidl.h 2006-04-01 08:26:46.000000000 +0900
-@@ -307,7 +307,7 @@
- /* [case()] */ FLOAT fltVal;
- /* [case()] */ DOUBLE dblVal;
- /* [case()] */ VARIANT_BOOL boolVal;
-- /* [case()] */ _VARIANT_BOOL bool;
-+// /* [case()] */ _VARIANT_BOOL bool;
- /* [case()] */ SCODE scode;
- /* [case()] */ CY cyVal;
- /* [case()] */ DATE date;
+@@ -189,6 +192,14 @@
+ /* header files for imported files */
+ #include "objidl.h"
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static
++#endif
++
+ #ifdef __cplusplus
+ extern "C"{
+ #endif
+@@ -3868,6 +3879,10 @@
+ }
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif
+
+
+--- include/propidl.h.orig 2008-01-18 22:17:32.000000000 +0900
++++ include/propidl.h 2008-03-27 20:26:16.221125000 +0900
+@@ -76,6 +76,14 @@
+ #include "objidl.h"
+ #include "oaidl.h"
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static
++#endif
++
+ #ifdef __cplusplus
+ extern "C"{
+ #endif
+@@ -285,11 +293,6 @@
+ #define tag_inner_PROPVARIANT
+ #endif
+
+-#if !defined(_MSC_EXTENSIONS)
+-
+-struct tagPROPVARIANT;
+-
+-#else
+ #ifndef MIDL_PASS
+ struct tagPROPVARIANT {
+ union {
+@@ -316,7 +319,7 @@
+ FLOAT fltVal;
+ DOUBLE dblVal;
+ VARIANT_BOOL boolVal;
+- _VARIANT_BOOL bool;
++// _VARIANT_BOOL bool;
+ SCODE scode;
+ CY cyVal;
+ DATE date;
+@@ -384,8 +387,6 @@
+ };
+ #endif
+
+-#endif /* _MSC_EXTENSIONS */
+-
+ #ifdef MIDL_PASS
+ // This is the LPPROPVARIANT definition for marshaling.
+ typedef struct tag_inner_PROPVARIANT *LPPROPVARIANT;
+@@ -1268,6 +1269,10 @@
+ }
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif
+
+
+--- include/propsys.h.orig 2008-03-22 06:10:42.412625000 +1000
++++ include/propsys.h 2008-03-24 02:29:37.085750000 +1000
+@@ -228,6 +228,14 @@
+ #endif // 0
+ #include <propkeydef.h>
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static
++#endif
++
+
+ extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0000_v0_0_c_ifspec;
+ extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0000_v0_0_s_ifspec;
+@@ -3600,6 +3608,10 @@
+ }
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif
+
+
--- include/qedit.h.orig 2005-04-14 17:54:56.000000000 +0900
+++ include/qedit.h 2007-01-02 22:11:05.140625000 +0900
@@ -1,3 +1,6 @@
@@ -1227,7 +1737,7 @@
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-@@ -10205,10 +10208,10 @@
+@@ -6546,10 +6549,10 @@
#define DEX_IDS_GRAPH_ERROR 1427
#define DEX_IDS_GRID_ERROR 1428
#define DEX_IDS_INTERFACE_ERROR 1429
@@ -1241,20 +1751,574 @@
+DEFINE_GUID(CLSID_AudioEffects2Category, 0xcc7bfb45, 0xf175, 0x11d1, 0xa3, 0x92, 0x0, 0xe0, 0x29, 0x1f, 0x39, 0x59);
- extern RPC_IF_HANDLE __MIDL_itf_qedit_0495_v0_0_c_ifspec;
---- include/shlobj.h.orig 2005-04-14 17:54:58.000000000 +0900
-+++ include/shlobj.h 2006-04-01 15:49:26.000000000 +0900
-@@ -1383,7 +1383,7 @@
+ extern RPC_IF_HANDLE __MIDL_itf_qedit_0001_0097_v0_0_c_ifspec;
+--- include/shlobj.h.orig 2008-01-18 22:17:36.000000000 +0900
++++ include/shlobj.h 2008-03-26 23:51:11.765375000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+ /*===========================================================================
+
+ Copyright (c) Microsoft Corporation. All rights reserved.
+@@ -103,6 +106,14 @@
+ #include <shtypes.h>
+ #include <shobjidl.h>
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static
++#endif
++
+ #if defined(_MSC_VER) && (_MSC_VER >= 1200)
+ #pragma once
+ #endif
+@@ -250,9 +261,10 @@
+ #define GIL_FORCENOSHIELD 0x0400 // icon must *not* be "stamped" with the LUA shield
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IExtractIconA;
+ #define INTERFACE IExtractIconA
+
+-DECLARE_INTERFACE_IID_(IExtractIconA, IUnknown, "000214eb-0000-0000-c000-000000000046")
++DECLARE_INTERFACE_(IExtractIconA, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -278,9 +290,10 @@
+ typedef IExtractIconA * LPEXTRACTICONA;
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IExtractIconW;
+ #define INTERFACE IExtractIconW
+
+-DECLARE_INTERFACE_IID_(IExtractIconW, IUnknown, "000214fa-0000-0000-c000-000000000046")
++DECLARE_INTERFACE_(IExtractIconW, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -350,9 +363,10 @@
+ //===========================================================================
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IShellIconOverlayIdentifier;
+ #define INTERFACE IShellIconOverlayIdentifier
+
+-DECLARE_INTERFACE_IID_(IShellIconOverlayIdentifier, IUnknown, "0c6c4200-c589-11d0-999a-00c04fd655e1")
++DECLARE_INTERFACE_(IShellIconOverlayIdentifier, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -399,9 +413,10 @@
+ //===========================================================================
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IShellIconOverlayManager;
+ #define INTERFACE IShellIconOverlayManager
+
+-DECLARE_INTERFACE_IID_(IShellIconOverlayManager, IUnknown, "f10b5e34-dd3b-42a7-aa7d-2f4ec54bb09b")
++DECLARE_INTERFACE_(IShellIconOverlayManager, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -447,9 +462,10 @@
+ //===========================================================================
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IShellIconOverlay;
+ #define INTERFACE IShellIconOverlay
+
+-DECLARE_INTERFACE_IID_(IShellIconOverlay, IUnknown, "7d688a70-c613-11d0-999b-00c04fd655e1")
++DECLARE_INTERFACE_(IShellIconOverlay, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -636,9 +652,10 @@
+ //===========================================================================
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IShellExecuteHookA;
+ #define INTERFACE IShellExecuteHookA
+
+-DECLARE_INTERFACE_IID_(IShellExecuteHookA, IUnknown, "000214f5-0000-0000-c000-000000000046")
++DECLARE_INTERFACE_(IShellExecuteHookA, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -650,9 +667,10 @@
+ };
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IShellExecuteHookW;
+ #define INTERFACE IShellExecuteHookW
+
+-DECLARE_INTERFACE_IID_(IShellExecuteHookW, IUnknown, "000214fb-0000-0000-c000-000000000046")
++DECLARE_INTERFACE_(IShellExecuteHookW, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -679,9 +697,10 @@
+ //===========================================================================
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IURLSearchHook;
+ #define INTERFACE IURLSearchHook
+
+-DECLARE_INTERFACE_IID_(IURLSearchHook, IUnknown, "ac60f6a0-0fd9-11d0-99cb-00c04fd64497")
++DECLARE_INTERFACE_(IURLSearchHook, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -693,9 +712,10 @@
+ };
+
+ #undef INTERFACE
++EXTERN_C const IID IID_ISearchContext;
+ #define INTERFACE ISearchContext
+
+-DECLARE_INTERFACE_IID_(ISearchContext, IUnknown, "09F656A2-41AF-480C-88F7-16CC0D164615")
++DECLARE_INTERFACE_(ISearchContext, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -709,9 +729,10 @@
+ };
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IURLSearchHook2;
+ #define INTERFACE IURLSearchHook2
+
+-DECLARE_INTERFACE_IID_(IURLSearchHook2, IURLSearchHook, "5ee44da4-6d32-46e3-86bc-07540dedd0e0")
++DECLARE_INTERFACE_(IURLSearchHook2, IURLSearchHook)
+ {
+ // *** IURLSearchHook2 methods ***
+ STDMETHOD(TranslateWithSearchContext)(THIS_ __out_ecount(cchBufferSize) LPWSTR lpwszSearchURL, DWORD cchBufferSize, __in_opt ISearchContext * pSearchContext) PURE;
+@@ -724,9 +745,10 @@
+ //===========================================================================
+
+ #undef INTERFACE
++EXTERN_C const IID IID_INewShortcutHookA;
+ #define INTERFACE INewShortcutHookA
+
+-DECLARE_INTERFACE_IID_(INewShortcutHookA, IUnknown, "000214e1-0000-0000-c000-000000000046")
++DECLARE_INTERFACE_(INewShortcutHookA, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -743,9 +765,10 @@
+ };
+
+ #undef INTERFACE
++EXTERN_C const IID IID_INewShortcutHookW;
+ #define INTERFACE INewShortcutHookW
+
+-DECLARE_INTERFACE_IID_(INewShortcutHookW, IUnknown, "000214f7-0000-0000-c000-000000000046")
++DECLARE_INTERFACE_(INewShortcutHookW, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -800,9 +823,10 @@
+ //===========================================================================
+
+ #undef INTERFACE
++EXTERN_C const IID IID_ICopyHookA;
+ #define INTERFACE ICopyHookA
+
+-DECLARE_INTERFACE_IID_(ICopyHookA, IUnknown, "000214EF-0000-0000-c000-000000000046")
++DECLARE_INTERFACE_(ICopyHookA, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -817,9 +841,10 @@
+ typedef ICopyHookA * LPCOPYHOOKA;
+
+ #undef INTERFACE
++EXTERN_C const IID IID_ICopyHookW;
+ #define INTERFACE ICopyHookW
+
+-DECLARE_INTERFACE_IID_(ICopyHookW, IUnknown, "000214FC-0000-0000-c000-000000000046")
++DECLARE_INTERFACE_(ICopyHookW, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -853,9 +878,10 @@
+ //===========================================================================
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IFileViewerSite;
+ #define INTERFACE IFileViewerSite
+
+-DECLARE_INTERFACE_IID_(IFileViewerSite, IUnknown, "000214f3-0000-0000-c000-000000000046")
++DECLARE_INTERFACE_(IFileViewerSite, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -912,9 +938,10 @@
+ #define FVSIF_CANVIEWIT 0x40000000 // The viewer can view it.
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IFileViewerA;
+ #define INTERFACE IFileViewerA
+
+-DECLARE_INTERFACE_IID(IFileViewerA, "000214f0-0000-0000-c000-000000000046")
++DECLARE_INTERFACE(IFileViewerA)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -930,9 +957,10 @@
+ typedef IFileViewerA * LPFILEVIEWERA;
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IFileViewerW;
+ #define INTERFACE IFileViewerW
+
+-DECLARE_INTERFACE_IID(IFileViewerW, "000214f8-0000-0000-c000-000000000046")
++DECLARE_INTERFACE(IFileViewerW)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -1484,9 +1512,10 @@
+ // implement IShellFolder2::GetDetailsOf()/GetDetailsEx() instead
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IShellDetails;
+ #define INTERFACE IShellDetails
- // no POF_ flags currently defined
+-DECLARE_INTERFACE_IID_(IShellDetails, IUnknown, "000214EC-0000-0000-c000-000000000046")
++DECLARE_INTERFACE_(IShellDetails, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -1513,9 +1542,10 @@
+ //
--typedef UINT PRINTEROP_FLAGS;
-+//typedef UINT PRINTEROP_FLAGS;
+ #undef INTERFACE
++EXTERN_C const IID IID_IObjMgr;
+ #define INTERFACE IObjMgr
- #endif // FO_MOVE
+-DECLARE_INTERFACE_IID_(IObjMgr, IUnknown, "00BB2761-6A77-11D0-A535-00C04FD7D062")
++DECLARE_INTERFACE_(IObjMgr, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -1547,9 +1577,10 @@
+ //
---- include/shobjidl.h 2006-12-30 18:12:26.718750000 +0900
-+++ include/shobjidl.h 2006-12-30 18:23:17.281250000 +0900
+ #undef INTERFACE
++EXTERN_C const IID IID_ICurrentWorkingDirectory;
+ #define INTERFACE ICurrentWorkingDirectory
+
+-DECLARE_INTERFACE_IID_(ICurrentWorkingDirectory, IUnknown, "91956D21-9276-11d1-921A-006097DF5BD4")
++DECLARE_INTERFACE_(ICurrentWorkingDirectory, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -1578,9 +1609,10 @@
+ //
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IACList;
+ #define INTERFACE IACList
+
+-DECLARE_INTERFACE_IID_(IACList, IUnknown, "77A130B0-94FD-11D0-A544-00C04FD7d062")
++DECLARE_INTERFACE_(IACList, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -1597,6 +1629,7 @@
+ // List COM object that implements this interface.
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IACList2;
+ #define INTERFACE IACList2
+
+ typedef enum _tagAUTOCOMPLETELISTOPTIONS
+@@ -1615,7 +1648,7 @@
+ #endif
+ } AUTOCOMPLETELISTOPTIONS;
+
+-DECLARE_INTERFACE_IID_(IACList2, IACList, "470141a0-5186-11d2-bbb6-0060977b464c")
++DECLARE_INTERFACE_(IACList2, IACList)
+ {
+ // *** IACList2 specific methods ***
+ STDMETHOD(SetOptions)(THIS_ DWORD dwFlag) PURE;
+@@ -1692,9 +1725,10 @@
+
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IProgressDialog;
+ #define INTERFACE IProgressDialog
+
+-DECLARE_INTERFACE_IID_(IProgressDialog, IUnknown, "EBBC7C04-315E-11d2-B62F-006097DF5BD4")
++DECLARE_INTERFACE_(IProgressDialog, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -1751,9 +1785,10 @@
+
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IDockingWindowSite;
+ #define INTERFACE IDockingWindowSite
+
+-DECLARE_INTERFACE_IID_(IDockingWindowSite, IOleWindow, "2a342fc2-7b26-11d0-8ca9-00a0c92dbfe8")
++DECLARE_INTERFACE_(IDockingWindowSite, IOleWindow)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void **ppv) PURE;
+@@ -1800,9 +1835,10 @@
+
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IDockingWindowFrame;
+ #define INTERFACE IDockingWindowFrame
+
+-DECLARE_INTERFACE_IID_(IDockingWindowFrame, IOleWindow, "47d2657a-7b27-11d0-8ca9-00a0c92dbfe8")
++DECLARE_INTERFACE_(IDockingWindowFrame, IOleWindow)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void **ppv) PURE;
+@@ -1829,9 +1865,10 @@
+ */
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IThumbnailCapture;
+ #define INTERFACE IThumbnailCapture
+
+-DECLARE_INTERFACE_IID_(IThumbnailCapture, IUnknown, "4ea39266-7211-409f-b622-f63dbd16c533")
++DECLARE_INTERFACE_(IThumbnailCapture, IUnknown)
+ {
+ // *** IThumbnailCapture methods ***
+ STDMETHOD (CaptureThumbnail) ( THIS_ const SIZE * pMaxSize,
+@@ -1856,9 +1893,10 @@
+ #include <poppack.h> /* Return to byte packing */
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IEnumShellImageStore;
+ #define INTERFACE IEnumShellImageStore
+
+-DECLARE_INTERFACE_IID_( IEnumShellImageStore, IUnknown, "6DFD582B-92E3-11D1-98A3-00C04FB687DA" )
++DECLARE_INTERFACE_( IEnumShellImageStore, IUnknown)
+ {
+ STDMETHOD ( QueryInterface ) ( THIS_ REFIID riid, void **ppv ) PURE;
+ STDMETHOD_( ULONG, AddRef ) ( THIS ) PURE;
+@@ -1878,11 +1916,12 @@
+ #define SHIMSTCAPFLAG_PURGEABLE 0x0002 // does the store require dead items purging externally ?
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IShellImageStore;
+ #define INTERFACE IShellImageStore
+
+ // this interface is used to manipulate the Image cache. It can potentially be used
+ // in a free threaded manner in conjunction with the Lock parameter to Open and close
+-DECLARE_INTERFACE_IID_( IShellImageStore, IUnknown, "48C8118C-B924-11D1-98D5-00C04FB687DA" )
++DECLARE_INTERFACE_( IShellImageStore, IUnknown)
+ {
+ STDMETHOD ( QueryInterface )( THIS_ REFIID riid, void **ppv ) PURE;
+ STDMETHOD_( ULONG, AddRef ) ( THIS ) PURE;
+@@ -1961,9 +2000,10 @@
+ #include <poppack.h> /* Return to byte packing */
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IShellFolderBand;
+ #define INTERFACE IShellFolderBand
+
+-DECLARE_INTERFACE_IID_(IShellFolderBand, IUnknown, "7FE80CC8-C247-11d0-B93A-00A0C90312E1")
++DECLARE_INTERFACE_(IShellFolderBand, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -1984,9 +2024,10 @@
+ //// IDeskBarClient
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IDeskBarClient;
+ #define INTERFACE IDeskBarClient
+
+-DECLARE_INTERFACE_IID_(IDeskBarClient, IOleWindow, "EB0FE175-1A3A-11D0-89B3-00A0C90A90AC")
++DECLARE_INTERFACE_(IDeskBarClient, IOleWindow)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -2238,9 +2279,10 @@
+ //
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IActiveDesktop;
+ #define INTERFACE IActiveDesktop
+
+-DECLARE_INTERFACE_IID_(IActiveDesktop, IUnknown, "f490eb00-1240-11d1-9888-006097deacf9")
++DECLARE_INTERFACE_(IActiveDesktop, IUnknown)
+ {
+ // IUnknown methods
+ STDMETHOD (QueryInterface)(THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -2288,9 +2330,10 @@
+ #define SCHEME_CREATE 0x0080
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IActiveDesktopP;
+ #define INTERFACE IActiveDesktopP
+
+-DECLARE_INTERFACE_IID_(IActiveDesktopP, IUnknown, "52502EE0-EC80-11D0-89AB-00C04FC2972D")
++DECLARE_INTERFACE_(IActiveDesktopP, IUnknown)
+ {
+ // IUnknown methods
+ STDMETHOD (QueryInterface)(THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -2311,9 +2354,10 @@
+ #define GADOF_DIRTY 0x00000001
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IADesktopP2;
+ #define INTERFACE IADesktopP2
+
+-DECLARE_INTERFACE_IID_(IADesktopP2, IUnknown, "B22754E2-4574-11d1-9888-006097DEACF9")
++DECLARE_INTERFACE_(IADesktopP2, IUnknown)
+ {
+ // IUnknown methods
+ STDMETHOD (QueryInterface)(THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -2375,11 +2419,12 @@
+ #include <poppack.h> /* Return to byte packing */
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IColumnProvider;
+ #define INTERFACE IColumnProvider
+
+ // Note: these objects must be threadsafe! GetItemData _will_ be called
+ // simultaneously from multiple threads.
+-DECLARE_INTERFACE_IID_(IColumnProvider, IUnknown, "E8025004-1C42-11d2-BE2C-00A0C9A83DA1")
++DECLARE_INTERFACE_(IColumnProvider, IUnknown)
+ {
+ // IUnknown methods
+ STDMETHOD (QueryInterface)(THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -2698,9 +2743,10 @@
+ // IShellChangeNotify
+ //
+ #undef INTERFACE
++EXTERN_C const IID IID_IShellChangeNotify;
+ #define INTERFACE IShellChangeNotify
+
+-DECLARE_INTERFACE_IID_(IShellChangeNotify, IUnknown, "D82BE2B1-5764-11D0-A96E-00C04FD705A2")
++DECLARE_INTERFACE_(IShellChangeNotify, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -2723,9 +2769,10 @@
+ //-------------------------------------------------------------------------
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IQueryInfo;
+ #define INTERFACE IQueryInfo
+
+-DECLARE_INTERFACE_IID_(IQueryInfo, IUnknown, "00021500-0000-0000-c000-000000000046")
++DECLARE_INTERFACE_(IQueryInfo, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -3117,7 +3164,7 @@
+ SHSTDAPI_(BOOL) ILIsEqual(__in PCIDLIST_ABSOLUTE pidl1, __in PCIDLIST_ABSOLUTE pidl2);
+ SHSTDAPI_(BOOL) ILIsParent(__in PCIDLIST_ABSOLUTE pidl1, __in PCIDLIST_ABSOLUTE pidl2, BOOL fImmediate);
+ SHSTDAPI ILSaveToStream(__in IStream *pstm, __in PCUIDLIST_RELATIVE pidl);
+-DECLSPEC_DEPRECATED SHSTDAPI ILLoadFromStream(__in IStream *pstm, __inout PIDLIST_RELATIVE *pidl);
++//SHSTDAPI ILLoadFromStream(__in IStream *pstm, __inout PIDLIST_RELATIVE *pidl);
+ SHSTDAPI ILLoadFromStreamEx(__in IStream *pstm, __deref_out PIDLIST_RELATIVE *pidl);
+
+ #if (_WIN32_IE >= 0x0400)
+@@ -3188,8 +3235,9 @@
+
+ #if (NTDDI_VERSION >= NTDDI_WIN2K && NTDDI_VERSION < NTDDI_VISTA)
+ #undef INTERFACE
++EXTERN_C const IID IID_IDefViewFrame;
+ #define INTERFACE IDefViewFrame
+-DECLARE_INTERFACE_IID_(IDefViewFrame, IUnknown, "710EB7A0-45ED-11D0-924A-0020AFC7AC4D")
++DECLARE_INTERFACE_(IDefViewFrame, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
+@@ -3522,8 +3570,9 @@
+ // IDocViewSite
+ //
+ #undef INTERFACE
++EXTERN_C const IID IID_IDocViewSite;
+ #define INTERFACE IDocViewSite
+-DECLARE_INTERFACE_IID_(IDocViewSite, IUnknown, "87D605E0-C511-11CF-89A9-00A0C9054129")
++DECLARE_INTERFACE_(IDocViewSite, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppv) PURE;
+@@ -3588,9 +3637,10 @@
+ SHSTDAPI_(BOOL) IsUserAnAdmin(void);
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IInitializeObject;
+ #define INTERFACE IInitializeObject
+
+-DECLARE_INTERFACE_IID_(IInitializeObject, IUnknown, "4622AD16-FF23-11d0-8D34-00A0C90F2719")
++DECLARE_INTERFACE_(IInitializeObject, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void **ppv) PURE;
+@@ -3609,9 +3659,10 @@
+ };
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IBanneredBar;
+ #define INTERFACE IBanneredBar
+
+-DECLARE_INTERFACE_IID_(IBanneredBar, IUnknown, "596A9A94-013E-11d1-8D34-00A0C90F2719")
++DECLARE_INTERFACE_(IBanneredBar, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void **ppv) PURE;
+@@ -3633,9 +3684,10 @@
+
+ //
+ #undef INTERFACE
++EXTERN_C const IID IID_IShellFolderViewCB;
+ #define INTERFACE IShellFolderViewCB
+
+-DECLARE_INTERFACE_IID_(IShellFolderViewCB, IUnknown, "2047E320-F2A9-11CE-AE65-08002B2E1262")
++DECLARE_INTERFACE_(IShellFolderViewCB, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void **ppv) PURE;
+@@ -3774,9 +3826,10 @@
+ #define SFVS_SELECT_INVERT 0x2 // Inver the selection
+
+ #undef INTERFACE
++EXTERN_C const IID IID_IShellFolderView;
+ #define INTERFACE IShellFolderView
+
+-DECLARE_INTERFACE_IID_(IShellFolderView, IUnknown, "37A378C0-F82D-11CE-AE65-08002B2E1262")
++DECLARE_INTERFACE_(IShellFolderView, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void **ppv) PURE;
+@@ -4358,8 +4411,9 @@
+ //
+ //--------------------------------------------------------------------------
+ #undef INTERFACE
++EXTERN_C const IID IID_INamedPropertyBag;
+ #define INTERFACE INamedPropertyBag
+-DECLARE_INTERFACE_IID_(INamedPropertyBag, IUnknown, "FB700430-952C-11d1-946F-000000000000")
++DECLARE_INTERFACE_(INamedPropertyBag, IUnknown)
+ {
+ // *** IUnknown methods ***
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void **ppv) PURE;
+@@ -4578,5 +4632,9 @@
+ #endif
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif /* _SHLOBJ_H_ */
+
+--- include/shobjidl.h.orig 2008-01-18 22:17:36.000000000 +0900
++++ include/shobjidl.h 2008-03-26 23:40:50.202875000 +0900
@@ -1,3 +1,6 @@
+#if __GNUC__ >=3
+#pragma GCC system_header
@@ -1262,6 +2326,70 @@
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
+@@ -1667,6 +1670,14 @@
+ #include "prsht.h"
+ #include "propsys.h"
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static
++#endif
++
+ #ifdef __cplusplus
+ extern "C"{
+ #endif
+@@ -6384,7 +6395,6 @@
+
+ typedef ICommDlgBrowser2 *LPCOMMDLGBROWSER2;
+
+-#endif // NTDDI_WIN2K
+ #if (_WIN32_IE >= _WIN32_IE_IE70)
+
+
+@@ -6727,6 +6737,7 @@
+ /* [local] */
+
+ #endif // (_WIN32_IE >= _WIN32_IE_IE70)
++#endif // NTDDI_WIN2K
+
+
+ extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0000_0026_v0_0_c_ifspec;
+@@ -7323,6 +7334,7 @@
+ #define FCT_MERGE 0x0001
+ #define FCT_CONFIGABLE 0x0002
+ #define FCT_ADDTOEND 0x0004
++
+ #ifdef _NEVER_
+ typedef LPARAM LPTBBUTTONSB;
+
+@@ -7331,6 +7343,13 @@
+ typedef LPTBBUTTON LPTBBUTTONSB;
+ #endif //_NEVER_
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static
++#endif
+
+ extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0000_0032_v0_0_c_ifspec;
+ extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0000_0032_v0_0_s_ifspec;
+@@ -29000,6 +29019,10 @@
+ }
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif
+
+
--- include/shtypes.h.orig 2006-12-30 18:12:26.093750000 +0900
+++ include/shtypes.h 2006-12-30 18:24:10.953125000 +0900
@@ -1,3 +1,6 @@
@@ -1271,88 +2399,170 @@
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-@@ -122,7 +125,7 @@
- } ITEMIDLIST;
+@@ -137,7 +140,7 @@
+ #endif // defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)
#include <poppack.h>
--typedef /* [unique] */ BYTE_BLOB *wirePIDL;
-+//typedef /* [unique] */ BYTE_BLOB *wirePIDL;
+-typedef /* [unique] */ __RPC_unique_pointer BYTE_BLOB *wirePIDL;
++//typedef /* [unique] */ __RPC_unique_pointer BYTE_BLOB *wirePIDL;
typedef /* [wire_marshal] */ ITEMIDLIST __unaligned *LPITEMIDLIST;
---- include/specstrings.h.orig 2005-04-14 17:54:58.000000000 +0900
-+++ include/specstrings.h 2005-05-25 06:42:00.000000000 +0900
-@@ -8,6 +8,8 @@
- * *
- \***************************************************************/
+--- include/specstrings.h.orig 2008-01-18 22:17:38.000000000 +0900
++++ include/specstrings.h 2008-03-26 22:08:28.484125000 +0900
+@@ -6,7 +6,105 @@
+ #if _MSC_VER
+ #pragma once
+ #endif
+-#include <sal.h>
++//#include <sal.h>
++#define __RPC__deref_in_ecount_full_opt(x)
++#define __RPC__deref_inout_opt
++#define __RPC__deref_opt_inout_opt
++#define __RPC__deref_opt_inout_ecount_full_opt(x)
++#define __RPC__deref_out
++#define __RPC__deref_out_ecount_full_opt(x)
++#define __RPC__deref_out_opt
++#define __RPC__deref_out_opt_string
++#define __RPC__in
++#define __RPC__in_ecount_full(x)
++#define __RPC__in_ecount_full_opt(x)
++#define __RPC__in_opt
++#define __RPC__inout
++#define __RPC__inout_ecount_full(x)
++#define __RPC__inout_ecount_full_opt(x)
++#define __RPC__inout_opt
++#define __RPC__out
++#define __RPC__out_ecount_full(x)
++#define __RPC__out_ecount_full_string(x)
++#define __RPC__out_ecount_part(x,y)
++#define __RPC_unique_pointer
++#define __callback
++#define __inner_checkReturn
++#define __inner_control_entrypoint(x)
++#define __control_entrypoint(x)
++#define __data_entrypoint(x)
++#define __deref
++#define __deref_inout
++#define __deref_inout_ecount_z(x)
++#define __deref_inout_opt
++#define __deref_opt_inout_bcount_part_opt(x,y)
++#define __deref_opt_inout_opt
++#define __deref_opt_out
++#define __deref_opt_out_bcount(x)
++#define __deref_opt_out_ecount(x)
++#define __deref_opt_out_opt
++#define __deref_out
++#define __deref_out_bcount(x)
++#define __deref_out_bcount_opt(x)
++#define __deref_out_ecount(x)
++#define __deref_out_ecount_opt(x)
++#define __deref_out_ecount_part(x,y)
++#define __deref_out_opt
++#define __deref_out_z
++#define __deref_out_z_opt
++#define __format_string
++#define __in
++#define __in_bcount(x)
++#define __in_bcount_opt(x)
++#define __in_ecount(x)
++#define __in_ecount_opt(x)
++#define __in_opt
++#define __in_z
++#define __in_z_opt
++#define __inout
++#define __inout_bcount(x)
++#define __inout_bcount_full(x)
++#define __inout_bcount_opt(x)
++#define __inout_bcount_part(x,y)
++#define __inout_ecount(x)
++#define __inout_ecount_opt(x)
++#define __inout_opt
++#define __nullnullterminated
++#define __nullterminated
++#define __out
++#define __out_bcount(x)
++#define __out_bcount_full(x)
++#define __out_bcount_opt(x)
++#define __out_bcount_part(x,y)
++#define __out_bcount_part_opt(x,y)
++#define __out_ecount(x)
++#define __out_ecount_full(x)
++#define __out_ecount_opt(x)
++#define __out_ecount_part(x,y)
++#define __out_ecount_part_opt(x,y)
++#define __out_opt
++#define __out_xcount(x)
++#define __out_xcount_opt(x)
++#define __reserved
++#define __success(x)
++#define __typefix(x)
++#define __post
++#define __deref
++#define __pre
++#define __exceptthat
++#define __notnull
++#define __maybenull
++#define __byte_writableTo(x)
++#define __valid
++#define __refparam
++#define __elem_writableTo(x)
++#ifdef __cplusplus
++#define __forceinline inline
++#define __inline inline
++#else
++#define __forceinline static
++#define __inline static
++#endif
-+#include <wchar.h>
-+
- // @@BEGIN_DDKSPLIT
+ #ifndef __SAL_H_FULL_VER
+ #define __SAL_H_FULL_VER 140050727
+--- include/sspi.h.orig 2008-03-22 06:10:42.631375000 +1000
++++ include/sspi.h 2008-03-24 23:27:32.546000000 +1000
+@@ -20,6 +20,14 @@
+ #define __SSPI_H__
+ // end_ntifs
- // -------------------------------------------------------------------------------
-@@ -445,7 +447,7 @@
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static
++#endif
++
+ #if _MSC_VER > 1000
+ #pragma once
+ #endif
+@@ -2154,6 +2162,7 @@
- // @@END_DDKSPLIT
+ // begin_ntifs
-- #define __null
-+// #define __null
- #define __notnull
- #define __maybenull
- #define __readonly
---- include/sspi.h.orig 2007-07-07 19:02:37.037875000 +0900
-+++ include/sspi.h 2007-07-07 19:15:05.011625000 +0900
-@@ -2001,48 +2001,6 @@
- // The EX version below is preferred.
++#if 0
+ #ifndef _AUTH_IDENTITY_DEFINED
+ #define _AUTH_IDENTITY_DEFINED
+@@ -2204,6 +2213,7 @@
// begin_ntifs
--#ifndef _AUTH_IDENTITY_DEFINED
--#define _AUTH_IDENTITY_DEFINED
--
--#define SEC_WINNT_AUTH_IDENTITY_ANSI 0x1
--#define SEC_WINNT_AUTH_IDENTITY_UNICODE 0x2
--
--typedef struct _SEC_WINNT_AUTH_IDENTITY_W {
-- unsigned short *User;
-- unsigned long UserLength;
-- unsigned short *Domain;
-- unsigned long DomainLength;
-- unsigned short *Password;
-- unsigned long PasswordLength;
-- unsigned long Flags;
--} SEC_WINNT_AUTH_IDENTITY_W, *PSEC_WINNT_AUTH_IDENTITY_W;
--
--// end_ntifs
--
--typedef struct _SEC_WINNT_AUTH_IDENTITY_A {
-- unsigned char *User;
-- unsigned long UserLength;
-- unsigned char *Domain;
-- unsigned long DomainLength;
-- unsigned char *Password;
-- unsigned long PasswordLength;
-- unsigned long Flags;
--} SEC_WINNT_AUTH_IDENTITY_A, *PSEC_WINNT_AUTH_IDENTITY_A;
--
--
--#ifdef UNICODE
--#define SEC_WINNT_AUTH_IDENTITY SEC_WINNT_AUTH_IDENTITY_W // ntifs
--#define PSEC_WINNT_AUTH_IDENTITY PSEC_WINNT_AUTH_IDENTITY_W // ntifs
--#define _SEC_WINNT_AUTH_IDENTITY _SEC_WINNT_AUTH_IDENTITY_W // ntifs
--#else // UNICODE
--#define SEC_WINNT_AUTH_IDENTITY SEC_WINNT_AUTH_IDENTITY_A
--#define PSEC_WINNT_AUTH_IDENTITY PSEC_WINNT_AUTH_IDENTITY_A
--#define _SEC_WINNT_AUTH_IDENTITY _SEC_WINNT_AUTH_IDENTITY_A
--#endif // UNICODE
--
--#endif //_AUTH_IDENTITY_DEFINED // ntifs
--
--// begin_ntifs
+
+ #endif //_AUTH_IDENTITY_DEFINED // ntifs
++#endif
+
//
// This is the combined authentication identity structure that may be
- // used with the negotiate package, NTLM, Kerberos, or SCHANNEL
---- include/strmif.h.orig 2005-04-14 17:54:58.000000000 +0900
-+++ include/strmif.h 2007-01-02 22:04:39.312500000 +0900
+@@ -2326,6 +2336,10 @@
+ } // extern "C"
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ // begin_ntifs
+ #endif // __SSPI_H__
+ // end_ntifs
+--- include/strmif.h.orig 2008-01-18 22:17:38.000000000 +0900
++++ include/strmif.h 2008-03-26 22:01:05.171625000 +0900
@@ -1,3 +1,6 @@
+#if __GNUC__ >=3
+#pragma GCC system_header
@@ -1360,7 +2570,22 @@
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-@@ -20566,7 +20569,7 @@
+@@ -888,6 +891,14 @@
+ #include "oaidl.h"
+ #include "ocidl.h"
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static
++#endif
++
+ #ifdef __cplusplus
+ extern "C"{
+ #endif
+@@ -16250,7 +16261,7 @@
#define _IAMFilterGraphCallback_
// Note: Because this interface was not defined as a proper interface it is
// supported under C++ only. Methods aren't stdcall.
@@ -1369,7 +2594,7 @@
interface IAMFilterGraphCallback : public IUnknown
{
// S_OK means rendering complete, S_FALSE means retry now.
-@@ -28962,7 +28965,7 @@
+@@ -21934,7 +21945,7 @@
typedef struct tagVMRGUID
{
GUID *pGUID;
@@ -1378,20 +2603,92 @@
} VMRGUID;
typedef struct tagVMRMONITORINFO
---- include/strsafe.h.orig 2005-04-14 17:54:58.000000000 +0900
-+++ include/strsafe.h 2007-01-02 22:20:15.218750000 +0900
-@@ -11,6 +11,9 @@
- #ifndef _STRSAFE_H_INCLUDED_
- #define _STRSAFE_H_INCLUDED_
+@@ -23341,6 +23352,10 @@
+ }
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif
+
+
+--- include/strsafe.h.orig 2008-01-18 22:17:38.000000000 +0900
++++ include/strsafe.h 2008-03-25 23:53:50.406125000 +0900
+@@ -13,12 +13,23 @@
+ #if (_MSC_VER > 1000)
#pragma once
+ #endif
+#if __GNUC__ >=3
+#pragma GCC system_header
+#endif
#include <stdio.h> // for _vsnprintf, _vsnwprintf, getc, getwc
#include <string.h> // for memset
---- include/urlmon.h.orig 2005-04-14 17:55:00.000000000 +0900
-+++ include/urlmon.h 2006-12-31 08:26:09.921875000 +0900
+ #include <stdarg.h> // for va_start, etc.
+ #include <specstrings.h> // for __in, etc.
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static
++#endif
++
+ #if !defined(_W64)
+ #if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && (_MSC_VER >= 1300)
+ #define _W64 __w64
+@@ -9254,7 +9265,7 @@
+ wchar_t ch = getwc(stdin);
+ // ASSERT(sizeof(wchar_t) == sizeof(wint_t));
+
+- if (ch == WEOF)
++ if (ch == 0xffff)
+ {
+ if (cchNewDestLength == 0)
+ {
+@@ -9763,5 +9774,9 @@
+
+ #pragma warning(pop)
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif // _STRSAFE_H_INCLUDED_
+
+--- include/structuredquery.h.orig 2008-03-22 06:10:42.756375000 +1000
++++ include/structuredquery.h 2008-03-24 02:28:22.507625000 +1000
+@@ -233,6 +233,14 @@
+ #include "ocidl.h"
+ #include "propidl.h"
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static
++#endif
++
+ #ifdef __cplusplus
+ extern "C"{
+ #endif
+@@ -2472,6 +2480,10 @@
+ }
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif
+
+
+--- include/urlmon.h.orig 2008-03-22 06:10:42.818875000 +1000
++++ include/urlmon.h 2008-03-24 02:28:32.507625000 +1000
@@ -1,3 +1,6 @@
+#if __GNUC__ >=3
+#pragma GCC system_header
@@ -1399,79 +2696,182 @@
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
---- include/wincrypt.h.orig 2005-04-14 17:55:02.000000000 +0900
-+++ include/wincrypt.h 2006-03-29 00:13:26.000000000 +0900
-@@ -14713,8 +14713,8 @@
- IN DWORD dwFlags,
- OPTIONAL PCRYPT_KEY_PROV_INFO pKeyProvInfo,
- OPTIONAL PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm,
-- OPTIONAL PSYSTEMTIME pStartTime,
-- OPTIONAL PSYSTEMTIME pEndTime,
-+ OPTIONAL LPSYSTEMTIME pStartTime,
-+ OPTIONAL LPSYSTEMTIME pEndTime,
- OPTIONAL PCERT_EXTENSIONS pExtensions
+@@ -330,6 +333,14 @@
+ #include "servprov.h"
+ #include "msxml.h"
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static
++#endif
++
+ #ifdef __cplusplus
+ extern "C"{
+ #endif
+@@ -8880,6 +8891,10 @@
+ }
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif
+
+
+--- include/wincrypt.h.orig 2008-01-18 22:17:42.000000000 +0900
++++ include/wincrypt.h 2008-03-26 21:55:55.765375000 +0900
+@@ -14,6 +14,14 @@
+
+ #include <specstrings.h> /* for SAL annotations */
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static
++#endif
++
+ #if defined (_MSC_VER)
+
+ #if ( _MSC_VER >= 800 )
+@@ -1927,6 +1935,14 @@
+ #include <bcrypt.h>
+ #include <ncrypt.h>
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static
++#endif
++
+ // This type is used when the API can take either the CAPI1 HCRYPTPROV or
+ // the CNG NCRYPT_KEY_HANDLE. Where appropriate, the HCRYPTPROV will be
+ // converted to a NCRYPT_KEY_HANDLE via the CNG NCryptTranslateHandle().
+@@ -17113,8 +17129,8 @@
+ __in DWORD dwFlags,
+ __in_opt PCRYPT_KEY_PROV_INFO pKeyProvInfo,
+ __in_opt PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm,
+- __in_opt PSYSTEMTIME pStartTime,
+- __in_opt PSYSTEMTIME pEndTime,
++ __in_opt LPSYSTEMTIME pStartTime,
++ __in_opt LPSYSTEMTIME pEndTime,
+ __in_opt PCERT_EXTENSIONS pExtensions
);
---- include/wingdi.h.orig 2005-04-14 17:55:02.000000000 +0900
-+++ include/wingdi.h 2006-03-31 23:27:00.000000000 +0900
-@@ -2751,7 +2751,26 @@
- typedef FARPROC LINEDDAPROC;
+@@ -19174,6 +19190,10 @@
+ #endif
#endif
--
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif // __WINCRYPT_H__
+
+
+--- include/winerror.h.orig 2008-03-20 13:39:15.127375000 +0900
++++ include/winerror.h 2008-03-20 14:33:29.097125000 +0900
+@@ -23065,7 +23065,7 @@
+
+ #if !defined(_HRESULT_DEFINED) && !defined(__midl)
+ #define _HRESULT_DEFINED
+-typedef __success(return >= 0) long HRESULT;
++typedef long HRESULT;
+ #endif
+
+ #ifndef __midl
+--- include/wingdi.h.orig 2008-03-22 06:10:42.897000000 +1000
++++ include/wingdi.h 2008-03-24 02:29:11.523250000 +1000
+@@ -9,6 +9,13 @@
+ #ifndef _WINGDI_
+ #define _WINGDI_
+
+#define __in
-+#define __in_ecount(x)
-+#define __in_bcount(x)
-+#define __in_opt
-+#define __in_ecount_opt(x)
-+#define __in_bcount_opt(x)
+#define __out
-+#define __out_ecount(x)
-+#define __out_bcount(x)
-+#define __out_opt
-+#define __out_ecount_opt(x)
-+#define __out_bcount_opt(x)
-+#define __out_bcount_part_opt(x,y)
-+#define __out_ecount_part_opt(x,y)
-+#define __inout
-+#define __inout_ecount(x)
-+#define __reserved
-+#define __deref_opt_out
-+#define __typefix(x)
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static
++#endif
+
+ #pragma once
+
+@@ -1169,11 +1176,10 @@
+ typedef struct tagLOGPALETTE {
+ WORD palVersion;
+ WORD palNumEntries;
+- __field_ecount_opt(palNumEntries) PALETTEENTRY palPalEntry[1];
++ __field_ecount_opt(palNumEntries) PALETTEENTRY palPalEntry[1];
+ } LOGPALETTE, *PLOGPALETTE, NEAR *NPLOGPALETTE, FAR *LPLOGPALETTE;
+ #endif // !_LOGPALETTE_DEFINED
+
+-
+ /* Logical Font */
+ #define LF_FACESIZE 32
+
+@@ -1901,7 +1907,7 @@
+ /* size of a form name string */
+ #define CCHFORMNAME 32
+
+-#if (_WIN32_WINNT >= ((OSVER(NTDDI_WINXPSP2)) >> 16))
++#if (_WIN32_WINNT >= ((NTDDI_WINXPSP2 & 0xFFFF0000) >> 16))
+ typedef struct _devicemodeA {
+ BYTE dmDeviceName[CCHDEVICENAME];
+ WORD dmSpecVersion;
+@@ -2900,7 +2906,7 @@
+ typedef FARPROC LINEDDAPROC;
+ #endif
+
+-
+WINGDIAPI int WINAPI FillRect(HDC,LPCRECT,HBRUSH);
WINGDIAPI int WINAPI AddFontResourceA(__in LPCSTR);
WINGDIAPI int WINAPI AddFontResourceW(__in LPCWSTR);
-@@ -4140,6 +4159,26 @@
+@@ -3254,7 +3260,7 @@
+ WINGDIAPI int WINAPI GetDeviceCaps( __in_opt HDC hdc, __in int index);
+ WINGDIAPI int WINAPI GetDIBits( __in HDC hdc, __in HBITMAP hbm, __in UINT start, __in UINT cLines, __out_opt LPVOID lpvBits, __inout_xcount(sizeof(BITMAPINFOHEADER)) LPBITMAPINFO lpbmi, __in UINT usage); // SAL actual size of lpbmi is computed from structure elements
+
+-__success(return != GDI_ERROR)
++//__success(return != GDI_ERROR)
+ WINGDIAPI DWORD WINAPI GetFontData ( __in HDC hdc,
+ __in DWORD dwTable,
+ __in DWORD dwOffset,
+@@ -4346,6 +4352,7 @@
WINGDIAPI BOOL WINAPI ColorCorrectPalette( __in HDC hdc, __in HPALETTE hPal, __in DWORD deFirst, __in DWORD num);
#endif
-+#undef __in
-+#undef __in_ecount(x)
-+#undef __in_bcount(x)
-+#undef __in_opt
-+#undef __in_ecount_opt(x)
-+#undef __in_bcount_opt(x)
-+#undef __out
-+#undef __out_ecount(x)
-+#undef __out_bcount(x)
-+#undef __out_opt
-+#undef __out_ecount_opt(x)
-+#undef __out_bcount_opt(x)
-+#undef __out_bcount_part_opt(x,y)
-+#undef __out_ecount_part_opt(x,y)
-+#undef __inout
-+#undef __inout_ecount(x)
-+#undef __reserved
-+#undef __deref_opt_out
-+#undef __typefix(x)
+
#ifndef NOMETAFILE
// Enhanced metafile constants.
---- include/winsock2.h.orig 2005-04-14 17:55:02.000000000 +0900
-+++ include/winsock2.h 2006-04-08 23:36:00.000000000 +0900
-@@ -10,9 +10,9 @@
+@@ -5424,6 +5431,10 @@
+ }
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif /* _WINGDI_ */
+
+
+--- include/winsock2.h.orig 2008-03-22 06:10:42.912625000 +1000
++++ include/winsock2.h 2008-03-24 02:29:01.882625000 +1000
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+ //$TAG BIZDEV
+ // $IPCategory:
+ // $DealPointID: 118736
+@@ -24,9 +27,9 @@
* conditions for redistribution.
*/
@@ -1482,9 +2882,24 @@
+#define _WINSOCK2_H
+#define _WINSOCK_H /* to prevent later inclusion of winsock.h */
+ #pragma once
+
+@@ -66,6 +69,14 @@
+ #include <windows.h>
+ #endif /* _INC_WINDOWS */
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static
++#endif
++
/*
- * Ensure structures are packed consistently.
-@@ -1293,10 +1293,8 @@
+ * Define the current Winsock version. To build an earlier Winsock version
+ * application redefine this value prior to including Winsock2.h.
+@@ -1107,10 +1118,8 @@
* registration (RNR) API
*/
@@ -1497,23 +2912,107 @@
typedef struct _BLOB {
ULONG cbSize ;
#ifdef MIDL_PASS
-@@ -3858,4 +3856,4 @@
- #include <wsipv6ok.h>
+@@ -3920,5 +3929,9 @@
#endif // IPV6STRICT
+ #endif //(_WIN32_WINNT >= 0x0501)
-#endif /* _WINSOCK2API_ */
++#undef __in
++#undef __out
++#undef __inline
++
+#endif /* _WINSOCK2_H */
---- include/ws2tcpip.h.orig 2005-04-14 17:55:04.000000000 +0900
-+++ include/ws2tcpip.h 2006-04-01 01:37:10.000000000 +0900
-@@ -396,6 +396,8 @@
- UINT ipi_ifindex; // received interface index
- } IN_PKTINFO;
+
+
+--- include/ws2ipdef.h.orig 2008-01-18 22:17:44.000000000 +0900
++++ include/ws2ipdef.h 2008-03-27 20:23:19.096125000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+ /*++
+
+ Copyright (c) Microsoft Corporation. All rights reserved.
+@@ -52,10 +55,10 @@
+ #define WS2IPDEF_ASSERT(exp) ((VOID) 0)
+ #endif
+
+-#ifdef _MSC_VER
+-#define WS2TCPIP_INLINE __inline
++#ifdef __cplusplus
++#define WS2TCPIP_INLINE inline
+ #else
+-#define WS2TCPIP_INLINE extern inline /* GNU style */
++#define WS2TCPIP_INLINE static
+ #endif
+
+ #include <in6addr.h>
+@@ -760,7 +763,7 @@
+ ULONG ipv6mr_interface; // Interface index.
+ } IPV6_MREQ, *PIPV6_MREQ;
+
+-#if (NTDDI_VERSION >= NTDDI_WINXP)
++#if 0
+ //
+ // Structure for GROUP_REQ used by protocol independent source filters
+ // (MCAST_JOIN_GROUP and MCAST_LEAVE_GROUP).
+@@ -805,6 +808,8 @@
+ ULONG ipi_ifindex; // Send/receive interface index.
+ } IN_PKTINFO, *PIN_PKTINFO;
+#define C_ASSERT(x)
+
C_ASSERT(sizeof(IN_PKTINFO) == 8);
- // structure for IPV6_PKTINFO option
+ //
+--- include/ws2tcpip.h.orig 2008-01-18 22:17:44.000000000 +0900
++++ include/ws2tcpip.h 2008-03-27 01:28:41.937250000 +0900
+@@ -27,15 +27,23 @@
+ #include <ws2ipdef.h>
+ #include <limits.h>
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static
++#endif
++
+ /* Option to use with [gs]etsockopt at the IPPROTO_UDP level */
+
+ #define UDP_NOCHECKSUM 1
+ #define UDP_CHECKSUM_COVERAGE 20 /* Set/get UDP-Lite checksum coverage */
+
+-#ifdef _MSC_VER
+-#define WS2TCPIP_INLINE __inline
++#ifdef __cplusplus
++#define WS2TCPIP_INLINE inline
+ #else
+-#define WS2TCPIP_INLINE extern inline /* GNU style */
++#define WS2TCPIP_INLINE static
+ #endif
+
+ /* Error codes from getaddrinfo() */
+@@ -835,7 +843,7 @@
+ return Error;
+ }
+
+-#if (NTDDI_VERSION >= NTDDI_WINXP)
++#if 0
+ WS2TCPIP_INLINE
+ int
+ setsourcefilter(
+@@ -1056,5 +1064,9 @@
+ #include <wspiapi.h>
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif /* _WS2TCPIP_H_ */
+
--- include/wspiapi.h.orig 2005-04-14 17:55:04.000000000 +0900
+++ include/wspiapi.h 2006-12-30 18:25:01.375000000 +0900
@@ -15,6 +15,9 @@
@@ -1524,9 +3023,9 @@
+#pragma GCC system_header
+#endif
- #include <stdio.h> // sprintf()
- #include <stdlib.h> // calloc(), strtoul()
-@@ -76,6 +79,11 @@
+ #pragma once
+
+@@ -85,6 +88,11 @@
#ifdef __cplusplus
extern "C" {
@@ -1538,7 +3037,7 @@
#endif
////////////////////////////////////////////////////////////
-@@ -1043,6 +1051,8 @@
+@@ -1052,6 +1060,8 @@
(*pfFreeAddrInfo)(ai);
}
@@ -1547,1515 +3046,136 @@
#ifdef __cplusplus
}
#endif
---- include/atl/atlbase.h.orig 2005-04-14 17:54:32.000000000 +0900
-+++ include/atl/atlbase.h 2006-12-31 08:24:46.640625000 +0900
-@@ -10,6 +10,9 @@
-
- #ifndef __ATLBASE_H__
- #define __ATLBASE_H__
+--- include/d3dtypes.h.orig 2004-09-27 12:34:16.000000000 +0900
++++ include/d3dtypes.h 2007-11-30 21:42:09.558750000 +0900
+@@ -1,3 +1,6 @@
+#if __GNUC__ >=3
+#pragma GCC system_header
+#endif
-
- #ifndef __cplusplus
- #error ATL requires C++ compilation (use a .cpp suffix)
-@@ -73,19 +76,47 @@
- #define _ATL_TYPELIB_INDEX_LENGTH 10
- #define _ATL_QUOTES_SPACE 2
-
--#pragma pack(push, _ATL_PACKING)
-+#pragma pack(push, 8)
-
- #if defined(_ATL_DLL)
- #pragma comment(lib, "atl.lib")
- #endif
-
--extern "C" const __declspec(selectany) GUID LIBID_ATLLib = {0x44EC0535,0x400F,0x11D0,{0x9D,0xCD,0x00,0xA0,0xC9,0x03,0x91,0xD3}};
--extern "C" const __declspec(selectany) CLSID CLSID_Registrar = {0x44EC053A,0x400F,0x11D0,{0x9D,0xCD,0x00,0xA0,0xC9,0x03,0x91,0xD3}};
--extern "C" const __declspec(selectany) IID IID_IRegistrar = {0x44EC053B,0x400F,0x11D0,{0x9D,0xCD,0x00,0xA0,0xC9,0x03,0x91,0xD3}};
--extern "C" const __declspec(selectany) IID IID_IAxWinHostWindow = {0xb6ea2050,0x48a,0x11d1,{0x82,0xb9,0x0,0xc0,0x4f,0xb9,0x94,0x2e}};
--extern "C" const __declspec(selectany) IID IID_IAxWinAmbientDispatch = {0xb6ea2051,0x48a,0x11d1,{0x82,0xb9,0x0,0xc0,0x4f,0xb9,0x94,0x2e}};
--extern "C" const __declspec(selectany) IID IID_IInternalConnection = {0x72AD0770,0x6A9F,0x11d1,{0xBC,0xEC,0x00,0x60,0x08,0x8F,0x44,0x4E}};
--extern "C" const __declspec(selectany) IID IID_IDocHostUIHandlerDispatch = {0x425B5AF0,0x65F1,0x11d1,{0x96,0x11,0x00,0x00,0xF8,0x1E,0x0D,0x0D}};
-+#define __uuidof(I) IID_##I
-+
-+#include <excpt.h>
-+
-+namespace ATL
-+{
-+inline int InlineIsEqualGUID(REFGUID rguid1, REFGUID rguid2)
-+{
-+ return (
-+ ((unsigned long *) &rguid1)[0] == ((unsigned long *) &rguid2)[0] &&
-+ ((unsigned long *) &rguid1)[1] == ((unsigned long *) &rguid2)[1] &&
-+ ((unsigned long *) &rguid1)[2] == ((unsigned long *) &rguid2)[2] &&
-+ ((unsigned long *) &rguid1)[3] == ((unsigned long *) &rguid2)[3]);
-+}
-+}
-+
-+#ifdef _INIT_ATL_COMMON_VARS
-+extern "C" const GUID LIBID_ATLLib = {0x44EC0535,0x400F,0x11D0,{0x9D,0xCD,0x00,0xA0,0xC9,0x03,0x91,0xD3}};
-+extern "C" const CLSID CLSID_Registrar = {0x44EC053A,0x400F,0x11D0,{0x9D,0xCD,0x00,0xA0,0xC9,0x03,0x91,0xD3}};
-+extern "C" const IID IID_IRegistrar = {0x44EC053B,0x400F,0x11D0,{0x9D,0xCD,0x00,0xA0,0xC9,0x03,0x91,0xD3}};
-+extern "C" const IID IID_IAxWinHostWindow = {0xb6ea2050,0x48a,0x11d1,{0x82,0xb9,0x0,0xc0,0x4f,0xb9,0x94,0x2e}};
-+extern "C" const IID IID_IAxWinAmbientDispatch = {0xb6ea2051,0x48a,0x11d1,{0x82,0xb9,0x0,0xc0,0x4f,0xb9,0x94,0x2e}};
-+extern "C" const IID IID_IInternalConnection = {0x72AD0770,0x6A9F,0x11d1,{0xBC,0xEC,0x00,0x60,0x08,0x8F,0x44,0x4E}};
-+extern "C" const IID IID_IDocHostUIHandlerDispatch = {0x425B5AF0,0x65F1,0x11d1,{0x96,0x11,0x00,0x00,0xF8,0x1E,0x0D,0x0D}};
-+#else
-+extern "C" {
-+extern const GUID LIBID_ATLLib;
-+extern const CLSID CLSID_Registrar;
-+extern const IID IID_IRegistrar;
-+extern const IID IID_IAxWinHostWindow;
-+extern const IID IID_IAxWinAmbientDispatch;
-+extern const IID IID_IInternalConnection;
-+extern const IID IID_IDocHostUIHandlerDispatch;
-+}
-+#endif
-
- #ifndef _ATL_DLL_IMPL
- namespace ATL
-@@ -135,7 +166,7 @@
- IUnknown* p = NULL;
- if (pfnGetClassObject == NULL)
- return S_OK;
-- HRESULT hRes = pfnGetClassObject(pfnCreateInstance, IID_IUnknown, (LPVOID*) &p);
-+ HRESULT hRes = pfnGetClassObject((LPVOID)pfnCreateInstance, IID_IUnknown, (LPVOID*) &p);
- if (SUCCEEDED(hRes))
- hRes = CoRegisterClassObject(*pclsid, p, dwClsContext, dwFlags, &dwRegister);
- if (p != NULL)
-@@ -284,13 +315,15 @@
- };
- #pragma pack(pop)
-
--PVOID __stdcall __AllocStdCallThunk(VOID);
--VOID __stdcall __FreeStdCallThunk(PVOID);
-+//PVOID __stdcall __AllocStdCallThunk(VOID);
-+//VOID __stdcall __FreeStdCallThunk(PVOID);
-
--#define AllocStdCallThunk() __AllocStdCallThunk()
--#define FreeStdCallThunk(p) __FreeStdCallThunk(p)
-+//#define AllocStdCallThunk() __AllocStdCallThunk()
-+//#define FreeStdCallThunk(p) __FreeStdCallThunk(p)
-
--#pragma comment(lib, "atlthunk.lib")
-+//#pragma comment(lib, "atlthunk.lib")
-+#define AllocStdCallThunk() HeapAlloc(GetProcessHeap(),0,sizeof(_stdcallthunk))
-+#define FreeStdCallThunk(p) HeapFree(GetProcessHeap(), 0, p)
-
- #elif defined (_M_AMD64)
- #pragma pack(push,2)
-@@ -658,6 +691,7 @@
- class _NoAddRefReleaseOnCComPtr : public T
- {
- private:
-+ _NoAddRefReleaseOnCComPtr();
- STDMETHOD_(ULONG, AddRef)()=0;
- STDMETHOD_(ULONG, Release)()=0;
- };
-@@ -781,6 +815,7 @@
- {
- return AtlAdvise(p, pUnk, iid, pdw);
- }
-+#if 0
- HRESULT CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter = NULL, DWORD dwClsContext = CLSCTX_ALL)
- {
- ATLASSERT(p == NULL);
-@@ -801,11 +836,12 @@
- ATLASSERT(pp != NULL && *pp == NULL);
- return p->QueryInterface(__uuidof(Q), (void**)pp);
- }
-+#endif
- T* p;
- };
-
-
--template <class T, const IID* piid = &__uuidof(T)>
-+template <class T, const IID* piid>
- class CComQIPtr
- {
- public:
-@@ -933,6 +969,7 @@
- {
- return AtlAdvise(p, pUnk, iid, pdw);
- }
-+#if 0
- HRESULT CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter = NULL, DWORD dwClsContext = CLSCTX_ALL)
- {
- ATLASSERT(p == NULL);
-@@ -953,6 +990,7 @@
- ATLASSERT(pp != NULL && *pp == NULL);
- return p->QueryInterface(__uuidof(Q), (void**)pp);
- }
-+#endif
- T* p;
- };
-
-@@ -1087,12 +1125,14 @@
- hr = ::CoCreateInstance(clsid, pUnkOuter, dwClsContext, __uuidof(IUnknown), (void**)&p);
- return hr;
- }
-+#if 0
- template <class Q>
- HRESULT QueryInterface(Q** pp)
- {
- ATLASSERT(pp != NULL && *pp == NULL);
- return p->QueryInterface(__uuidof(Q), (void**)pp);
- }
-+#endif
- IUnknown* p;
- };
-
-@@ -1257,21 +1297,26 @@
- LeaveCriticalSection(&m_sec);
- return S_OK;
- }
-+ static void _InitHandler(void *pData, LPEXCEPTION_POINTERS ep)
-+ {
-+ HRESULT &hRes=*reinterpret_cast<HRESULT*>(pData);
-+ if (STATUS_NO_MEMORY == ep->ExceptionRecord->ExceptionCode)
-+ hRes = E_OUTOFMEMORY;
-+ else
-+ hRes = E_FAIL;
-+ }
- HRESULT Init() throw()
- {
- HRESULT hRes = S_OK;
-- __try
-- {
-+ jmp_buf _sejmpbuf;
-+ __SEHandler _sehandler;
-+ if (__builtin_setjmp(_sejmpbuf) == 0)
-+ {
-+ _sehandler.Set(_sejmpbuf, &hRes, reinterpret_cast<__SEHandler::PF>(EXCEPTION_EXECUTE_HANDLER), _InitHandler);
- InitializeCriticalSection(&m_sec);
-- }
-+ }
- // structured exception may be raised in low memory situations
-- __except(EXCEPTION_EXECUTE_HANDLER)
-- {
-- if (STATUS_NO_MEMORY == GetExceptionCode())
-- hRes = E_OUTOFMEMORY;
-- else
-- hRes = E_FAIL;
-- }
-+ _sehandler.Reset();
- return hRes;
- }
-
-@@ -2799,10 +2844,19 @@
-
-
- class CComModule;
--__declspec(selectany) CComModule* _pModule=NULL;
-+#ifdef _INIT_ATL_COMMON_VARS
-+CComModule* _pModule=NULL;
-+#else
-+extern CComModule* _pModule;
-+#endif
-+
-
- // {B62F5910-6528-11d1-9611-0000F81E0D0D}
--_declspec(selectany) GUID GUID_ATLVer30 = { 0xb62f5910, 0x6528, 0x11d1, { 0x96, 0x11, 0x0, 0x0, 0xf8, 0x1e, 0xd, 0xd } };
-+#ifdef _INIT_ATL_COMMON_VARS
-+GUID GUID_ATLVer30 = { 0xb62f5910, 0x6528, 0x11d1, { 0x96, 0x11, 0x0, 0x0, 0xf8, 0x1e, 0xd, 0xd } };
-+#else
-+extern GUID GUID_ATLVer30;
-+#endif
-
- class CComModule : public _ATL_MODULE
- {
-@@ -4286,7 +4340,9 @@
-
- #endif
-
--__declspec(selectany) GUID CComModule::m_libid = {0x0,0x0,0x0,{0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0}};
-+#ifdef _INIT_ATL_COMMON_VARS
-+GUID CComModule::m_libid = {0x0,0x0,0x0,{0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0}};
-+#endif
-
- #ifdef _ATL_STATIC_REGISTRY
- #define UpdateRegistryFromResource UpdateRegistryFromResourceS
-@@ -4355,7 +4411,9 @@
- LONG m_nLockCnt;
- };
-
--__declspec(selectany) UINT CComApartment::ATL_CREATE_OBJECT = 0;
-+#ifdef _INIT_ATL_COMMON_VARS
-+UINT CComApartment::ATL_CREATE_OBJECT = 0;
+ /*==========================================================================;
+ *
+ * Copyright (C) Microsoft Corporation. All Rights Reserved.
+--- include/d3dx9math.h.orig 2005-07-22 17:00:18.000000000 +0900
++++ include/d3dx9math.h 2007-11-30 21:41:52.230625000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
+#endif
-
- class CComSimpleThreadAllocator
- {
-@@ -5855,6 +5913,10 @@
- }
-
- }
-+ static int _Except(void *pThis, LPEXCEPTION_POINTERS lpEP)
-+ {
-+ return reinterpret_cast<CVirtualBuffer *>(pThis)->Except(lpEP);
-+ }
- void Seek(int nElement)
- {
- if(nElement < 0 || nElement >= m_nMaxElements)
-@@ -5866,41 +5928,53 @@
- {
- if(nElement < 0 || nElement >= m_nMaxElements)
- _AtlRaiseException((DWORD)EXCEPTION_ARRAY_BOUNDS_EXCEEDED);
-- __try
-+ jmp_buf _sejmpbuf;
-+ __SEHandler _sehandler;
-+ if (__builtin_setjmp(_sejmpbuf) == 0)
- {
-+ _sehandler.Set(_sejmpbuf, this, _Except);
- T* p = &m_pBase[nElement];
- *p = Element;
- m_pTop = p > m_pTop ? p : m_pTop;
- }
-- __except(Except(GetExceptionInformation()))
-+ else
- {
- }
-+ _sehandler.Reset();
-
- }
- template <class Q>
- void WriteBulk(Q& helper)
- {
-- __try
-+ jmp_buf _sejmpbuf;
-+ __SEHandler _sehandler;
-+ if (__builtin_setjmp(_sejmpbuf) == 0)
- {
-+ _sehandler.Set(_sejmpbuf, this, _Except);
- m_pCurrent = helper(m_pBase);
- m_pTop = m_pCurrent > m_pTop ? m_pCurrent : m_pTop;
- }
-- __except(Except(GetExceptionInformation()))
-+ else
- {
- }
-+ _sehandler.Reset();
- }
- void Write(const T& Element)
- {
- if (m_pCurrent < &m_pBase[m_nMaxElements]) {
-- __try
-+ jmp_buf _sejmpbuf;
-+ __SEHandler _sehandler;
-+ if (__builtin_setjmp(_sejmpbuf) == 0)
- {
-+ _sehandler.Set(_sejmpbuf, this, _Except);
- *m_pCurrent = Element;
- m_pCurrent++;
- m_pTop = m_pCurrent > m_pTop ? m_pCurrent : m_pTop;
- }
-- __except(Except(GetExceptionInformation()))
-+ else
- {
- }
-+ _sehandler.Reset();
- }
- }
- T& Read()
-@@ -5910,14 +5984,18 @@
- operator BSTR()
- {
- BSTR bstrTemp = NULL ;
-- __try
-+ jmp_buf _sejmpbuf;
-+ __SEHandler _sehandler;
-+ if (__builtin_setjmp(_sejmpbuf) == 0)
- {
-+ _sehandler.Set(_sejmpbuf, this, _Except);
- bstrTemp = SysAllocStringByteLen((char*) m_pBase,
- (UINT) ((BYTE*)m_pTop - (BYTE*)m_pBase));
- }
-- __except(Except(GetExceptionInformation()))
-+ else
- {
- }
-+ _sehandler.Reset();
- return bstrTemp;
- }
- const T& operator[](int nElement) const
-@@ -6336,6 +6414,11 @@
- //Although these functions are big, they are only used once in a module
- //so we should make them inline.
-
-+ATLINLINE int atlmoduleinitfilter(void *, LPEXCEPTION_POINTERS ep)
-+{
-+ return ep->ExceptionRecord->ExceptionCode == STATUS_NO_MEMORY ? EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH;
-+}
-+
- ATLINLINE ATLAPI AtlModuleInit(_ATL_MODULE* pM, _ATL_OBJMAP_ENTRY* p, HINSTANCE h)
- {
- ATLASSERT(pM != NULL);
-@@ -6352,32 +6435,43 @@
- pM->m_hInst = pM->m_hInstTypeLib = pM->m_hInstResource = h;
- pM->m_nLockCnt=0L;
- pM->m_hHeap = NULL;
-- __try {
-+ jmp_buf _sejmpbuf;
-+ __SEHandler _sehandler;
-+ if (__builtin_setjmp(_sejmpbuf) == 0) {
-+ _sehandler.Set(_sejmpbuf, NULL, atlmoduleinitfilter);
- InitializeCriticalSection(&pM->m_csTypeInfoHolder);
-- } __except (GetExceptionCode() == STATUS_NO_MEMORY ? EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH) {
-+ } else {
- ZeroMemory(&pM->m_csTypeInfoHolder, sizeof(pM->m_csTypeInfoHolder));
-- return STATUS_NO_MEMORY;
-+ _sehandler.Reset();
-+ return STATUS_NO_MEMORY;
- }
-+ _sehandler.Reset();
-
-- __try {
-+ if (__builtin_setjmp(_sejmpbuf) == 0) {
-+ _sehandler.Set(_sejmpbuf, NULL, atlmoduleinitfilter);
- InitializeCriticalSection(&pM->m_csWindowCreate);
-- } __except (GetExceptionCode() == STATUS_NO_MEMORY ? EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH) {
-+ } else {
- DeleteCriticalSection(&pM->m_csTypeInfoHolder);
- ZeroMemory(&pM->m_csWindowCreate, sizeof(pM->m_csWindowCreate));
- ZeroMemory(&pM->m_csTypeInfoHolder, sizeof(pM->m_csTypeInfoHolder));
-+ _sehandler.Reset();
- return STATUS_NO_MEMORY;
- }
-+ _sehandler.Reset();
-
-- __try {
-+ if (__builtin_setjmp(_sejmpbuf) == 0) {
-+ _sehandler.Set(_sejmpbuf, NULL, atlmoduleinitfilter);
- InitializeCriticalSection(&pM->m_csObjMap);
-- } __except (GetExceptionCode() == STATUS_NO_MEMORY ? EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH) {
-+ } else {
- DeleteCriticalSection(&pM->m_csWindowCreate);
- DeleteCriticalSection(&pM->m_csTypeInfoHolder);
- ZeroMemory(&pM->m_csObjMap, sizeof(pM->m_csObjMap));
- ZeroMemory(&pM->m_csWindowCreate, sizeof(pM->m_csWindowCreate));
- ZeroMemory(&pM->m_csTypeInfoHolder, sizeof(pM->m_csTypeInfoHolder));
-+ _sehandler.Reset();
- return STATUS_NO_MEMORY;
- }
-+ _sehandler.Reset();
- #ifdef _ATL_DLL_IMPL
- if (pM->cbSize > _nAtlModuleVer21Size)
- #endif
-@@ -6450,6 +6544,11 @@
- return hRes;
- }
-
-+ATLINLINE void atlfinalleavecriticalsection(void *pData)
-+{
-+ LeaveCriticalSection(reinterpret_cast<LPCRITICAL_SECTION>(pData));
-+}
-+
- ATLINLINE ATLAPI AtlModuleGetClassObject(_ATL_MODULE* pM, REFCLSID rclsid, REFIID riid, LPVOID* ppv)
- {
- ATLASSERT(pM != NULL);
-@@ -6473,15 +6572,15 @@
- if (pEntry->pCF == NULL)
- {
- EnterCriticalSection(&pM->m_csObjMap);
-- __try
-+ jmp_buf _sejmpbuf;
-+ __SEHandler _sehandler;
-+ if (__builtin_setjmp(_sejmpbuf) == 0)
- {
-+ _sehandler.Set(_sejmpbuf, &pM->m_csObjMap, EXCEPTION_CONTINUE_SEARCH, NULL, atlfinalleavecriticalsection);
- if (pEntry->pCF == NULL)
-- hRes = pEntry->pfnGetClassObject(pEntry->pfnCreateInstance, IID_IUnknown, (LPVOID*)&pEntry->pCF);
-- }
-- __finally
-- {
-- LeaveCriticalSection(&pM->m_csObjMap);
-+ hRes = pEntry->pfnGetClassObject((void *)(pEntry->pfnCreateInstance), IID_IUnknown, (LPVOID*)&pEntry->pCF);
- }
-+ _sehandler.Reset();
- }
- if (pEntry->pCF != NULL)
- hRes = pEntry->pCF->QueryInterface(riid, ppv);
---- include/atl/atlcom.h.orig 2005-04-14 17:54:32.000000000 +0900
-+++ include/atl/atlcom.h 2006-12-31 09:17:56.984375000 +0900
-@@ -10,6 +10,9 @@
-
- #ifndef __ATLCOM_H__
- #define __ATLCOM_H__
+ //////////////////////////////////////////////////////////////////////////////
+ //
+ // Copyright (C) Microsoft Corporation. All Rights Reserved.
+--- include/d3dx9math.inl.orig 2005-03-18 17:26:56.000000000 +0900
++++ include/d3dx9math.inl 2007-11-30 21:41:38.496250000 +0900
+@@ -1,3 +1,6 @@
+#if __GNUC__ >=3
+#pragma GCC system_header
+#endif
-
- #ifndef __cplusplus
- #error ATL requires C++ compilation (use a .cpp suffix)
-@@ -19,7 +22,7 @@
- #error atlcom.h requires atlbase.h to be included first
- #endif
-
--#pragma pack(push, _ATL_PACKING)
-+#pragma pack(push, 8)
-
- EXTERN_C const IID IID_ITargetFrame;
-
-@@ -2191,19 +2194,23 @@
- // override it in your class and call each base class' version of this
- #define BEGIN_COM_MAP(x) public: \
- typedef x _ComMapClass; \
-+ static void _CacheFinal(void *pData)\
-+ {\
-+ reinterpret_cast<_ComMapClass*>(pData)->Unlock();\
-+ }\
- static HRESULT WINAPI _Cache(void* pv, REFIID iid, void** ppvObject, DWORD_PTR dw)\
- {\
- _ComMapClass* p = (_ComMapClass*)pv;\
- p->Lock();\
- HRESULT hRes = E_FAIL; \
-- __try \
-+ jmp_buf _sejmpbuf; \
-+ __SEHandler _sehandler; \
-+ if (__builtin_setjmp(_sejmpbuf) == 0) \
- { \
-+ _sehandler.Set(_sejmpbuf, p, EXCEPTION_CONTINUE_SEARCH, NULL, _CacheFinal);\
- hRes = CComObjectRootBase::_Cache(pv, iid, ppvObject, dw);\
- } \
-- __finally \
-- { \
-- p->Unlock();\
-- } \
-+ _sehandler.Reset();\
- return hRes;\
- }\
- IUnknown* _GetRawUnknown() \
-@@ -2339,7 +2346,7 @@
- return( pMap ); }
-
- #define BEGIN_OBJECT_MAP(x) static _ATL_OBJMAP_ENTRY x[] = {
--#define END_OBJECT_MAP() {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}};
-+#define END_OBJECT_MAP() {NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL}};
- #define OBJECT_ENTRY(clsid, class) {&clsid, class::UpdateRegistry, class::_ClassFactoryCreatorClass::CreateInstance, class::_CreatorClass::CreateInstance, NULL, 0, class::GetObjectDescription, class::GetCategoryMap, class::ObjectMain },
- #define OBJECT_ENTRY_NON_CREATEABLE(class) {&CLSID_NULL, class::UpdateRegistry, NULL, NULL, NULL, 0, NULL, class::GetCategoryMap, class::ObjectMain },
-
-@@ -2492,9 +2499,9 @@
- public:
- typedef ThreadModel _ThreadModel;
- #ifdef OLD_ATL_CRITSEC_CODE
-- typename typedef _ThreadModel::AutoCriticalSection _CritSec;
-+ typedef typename _ThreadModel::AutoCriticalSection _CritSec;
- #else
-- typename typedef _ThreadModel::AutoDeleteCriticalSection _AutoDelCritSec;
-+ typedef typename _ThreadModel::AutoDeleteCriticalSection _AutoDelCritSec;
- #endif /* OLD_ATL_CRITSEC_CODE */
- typedef CComObjectLockT<_ThreadModel> ObjectLock;
-
-@@ -2638,8 +2645,8 @@
- // Set refcount to 1 to protect destruction
- ~CComObject()
- {
-- m_dwRef = 1L;
-- FinalRelease();
-+ this->m_dwRef = 1L;
-+ this->FinalRelease();
- #ifdef _ATL_DEBUG_INTERFACES
- _Module.DeleteNonAddRefThunk(_GetRawUnknown());
- #endif
-@@ -2647,22 +2654,24 @@
- }
- //If InternalAddRef or InternalRelease is undefined then your class
- //doesn't derive from CComObjectRoot
-- STDMETHOD_(ULONG, AddRef)() {return InternalAddRef();}
-+ STDMETHOD_(ULONG, AddRef)() {return this->InternalAddRef();}
- STDMETHOD_(ULONG, Release)()
- {
-- ULONG l = InternalRelease();
-+ ULONG l = this->InternalRelease();
- if (l == 0)
- delete this;
- return l;
- }
- //if _InternalQueryInterface is undefined then you forgot BEGIN_COM_MAP
- STDMETHOD(QueryInterface)(REFIID iid, void ** ppvObject)
-- {return _InternalQueryInterface(iid, ppvObject);}
-+ {return this->_InternalQueryInterface(iid, ppvObject);}
-+#if 0
- template <class Q>
- HRESULT STDMETHODCALLTYPE QueryInterface(Q** pp)
- {
- return QueryInterface(__uuidof(Q), (void**)pp);
- }
+ //////////////////////////////////////////////////////////////////////////////
+ //
+ // Copyright (C) Microsoft Corporation. All Rights Reserved.
+--- include/d3dx9core.h.orig 2006-03-31 12:16:02.000000000 +0900
++++ include/d3dx9core.h 2007-11-30 21:41:13.199375000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
+#endif
+ ///////////////////////////////////////////////////////////////////////////
+ //
+ // Copyright (C) Microsoft Corporation. All Rights Reserved.
+--- include/msi.h.orig 2008-01-18 22:17:28.000000000 +0900
++++ include/msi.h 2008-03-24 23:41:17.249125000 +1000
+@@ -59,6 +59,14 @@
+ #endif // _MSI_NO_CRYPTO
+ #endif //(_WIN32_MSI >= 150)
- static HRESULT WINAPI CreateInstance(CComObject<Base>** pp);
- };
-@@ -2719,8 +2728,8 @@
- #endif /* OLD_ATL_CRITSEC_CODE */
- ~CComObjectCached()
- {
-- m_dwRef = 1L;
-- FinalRelease();
-+ this->m_dwRef = 1L;
-+ this->FinalRelease();
- #ifdef _ATL_DEBUG_INTERFACES
- _Module.DeleteNonAddRefThunk(_GetRawUnknown());
- #endif
-@@ -2729,14 +2738,14 @@
- //doesn't derive from CComObjectRoot
- STDMETHOD_(ULONG, AddRef)()
- {
-- ULONG l = InternalAddRef();
-+ ULONG l = this->InternalAddRef();
- if (l == 2)
- _Module.Lock();
- return l;
- }
- STDMETHOD_(ULONG, Release)()
- {
-- ULONG l = InternalRelease();
-+ ULONG l = this->InternalRelease();
- if (l == 0)
- delete this;
- else if (l == 1)
-@@ -2745,7 +2754,7 @@
- }
- //if _InternalQueryInterface is undefined then you forgot BEGIN_COM_MAP
- STDMETHOD(QueryInterface)(REFIID iid, void ** ppvObject)
-- {return _InternalQueryInterface(iid, ppvObject);}
-+ {return this->_InternalQueryInterface(iid, ppvObject);}
- #ifndef OLD_ATL_CRITSEC_CODE
- CComGlobalsThreadModel::AutoDeleteCriticalSection m_csCached;
- #endif /* OLD_ATL_CRITSEC_CODE */
-@@ -2762,8 +2771,8 @@
- // Set refcount to 1 to protect destruction
- ~CComObjectNoLock()
- {
-- m_dwRef = 1L;
-- FinalRelease();
-+ this->m_dwRef = 1L;
-+ this->FinalRelease();
- #ifdef _ATL_DEBUG_INTERFACES
- _Module.DeleteNonAddRefThunk(_GetRawUnknown());
- #endif
-@@ -2771,17 +2780,17 @@
-
- //If InternalAddRef or InternalRelease is undefined then your class
- //doesn't derive from CComObjectRoot
-- STDMETHOD_(ULONG, AddRef)() {return InternalAddRef();}
-+ STDMETHOD_(ULONG, AddRef)() {return this->InternalAddRef();}
- STDMETHOD_(ULONG, Release)()
- {
-- ULONG l = InternalRelease();
-+ ULONG l = this->InternalRelease();
- if (l == 0)
- delete this;
- return l;
- }
- //if _InternalQueryInterface is undefined then you forgot BEGIN_COM_MAP
- STDMETHOD(QueryInterface)(REFIID iid, void ** ppvObject)
-- {return _InternalQueryInterface(iid, ppvObject);}
-+ {return this->_InternalQueryInterface(iid, ppvObject);}
- };
-
- // It is possible for Base not to derive from CComObjectRoot
-@@ -2794,14 +2803,14 @@
- CComObjectGlobal(void* = NULL)
- {
- #ifndef OLD_ATL_CRITSEC_CODE
-- m_hResFinalConstruct = _AtlInitialConstruct();
-+ m_hResFinalConstruct = this->_AtlInitialConstruct();
- if (SUCCEEDED(m_hResFinalConstruct))
- #endif /* OLD_ATL_CRITSEC_CODE */
-- m_hResFinalConstruct = FinalConstruct();
-+ m_hResFinalConstruct = this->FinalConstruct();
- }
- ~CComObjectGlobal()
- {
-- FinalRelease();
-+ this->FinalRelease();
- #ifdef _ATL_DEBUG_INTERFACES
- _Module.DeleteNonAddRefThunk(_GetRawUnknown());
- #endif
-@@ -2810,7 +2819,7 @@
- STDMETHOD_(ULONG, AddRef)() {return _Module.Lock();}
- STDMETHOD_(ULONG, Release)(){return _Module.Unlock();}
- STDMETHOD(QueryInterface)(REFIID iid, void ** ppvObject)
-- {return _InternalQueryInterface(iid, ppvObject);}
-+ {return this->_InternalQueryInterface(iid, ppvObject);}
- HRESULT m_hResFinalConstruct;
- };
-
-@@ -2824,14 +2833,14 @@
- CComObjectStack(void* = NULL)
- {
- #ifndef OLD_ATL_CRITSEC_CODE
-- m_hResFinalConstruct = _AtlInitialConstruct();
-+ m_hResFinalConstruct = this->_AtlInitialConstruct();
- if (SUCCEEDED(m_hResFinalConstruct))
- #endif /* OLD_ATL_CRITSEC_CODE */
-- m_hResFinalConstruct = FinalConstruct();
-+ m_hResFinalConstruct = this->FinalConstruct();
- }
- ~CComObjectStack()
- {
-- FinalRelease();
-+ this->FinalRelease();
- #ifdef _ATL_DEBUG_INTERFACES
- _Module.DeleteNonAddRefThunk(_GetRawUnknown());
- #endif
-@@ -2850,6 +2859,8 @@
- {
- public:
- typedef Base _BaseClass;
-+ using Base::_GetRawUnknown;
-+ using Base::m_pOuterUnknown;
- CComContainedObject(void* pv) {m_pOuterUnknown = (IUnknown*)pv;}
- #ifdef _ATL_DEBUG_INTERFACES
- ~CComContainedObject()
-@@ -2859,20 +2870,22 @@
- }
- #endif
-
-- STDMETHOD_(ULONG, AddRef)() {return OuterAddRef();}
-- STDMETHOD_(ULONG, Release)() {return OuterRelease();}
-+ STDMETHOD_(ULONG, AddRef)() {return this->OuterAddRef();}
-+ STDMETHOD_(ULONG, Release)() {return this->OuterRelease();}
- STDMETHOD(QueryInterface)(REFIID iid, void ** ppvObject)
- {
-- HRESULT hr = OuterQueryInterface(iid, ppvObject);
-+ HRESULT hr = this->OuterQueryInterface(iid, ppvObject);
- if (FAILED(hr) && _GetRawUnknown() != m_pOuterUnknown)
-- hr = _InternalQueryInterface(iid, ppvObject);
-+ hr = this->_InternalQueryInterface(iid, ppvObject);
- return hr;
- }
-+#if 0
- template <class Q>
- HRESULT STDMETHODCALLTYPE QueryInterface(Q** pp)
- {
- return QueryInterface(__uuidof(Q), (void**)pp);
- }
-+#endif
- //GetControllingUnknown may be virtual if the Base class has declared
- //DECLARE_GET_CONTROLLING_UNKNOWN()
- IUnknown* GetControllingUnknown()
-@@ -2915,18 +2928,18 @@
- // override it in your class and call each base class' version of this
- HRESULT FinalConstruct()
- {
-- CComObjectRootEx<contained::_ThreadModel::ThreadModelNoCS>::FinalConstruct();
-+ CComObjectRootEx<typename contained::_ThreadModel::ThreadModelNoCS>::FinalConstruct();
- return m_contained.FinalConstruct();
- }
- void FinalRelease()
- {
-- CComObjectRootEx<contained::_ThreadModel::ThreadModelNoCS>::FinalRelease();
-+ CComObjectRootEx<typename contained::_ThreadModel::ThreadModelNoCS>::FinalRelease();
- m_contained.FinalRelease();
- }
- // Set refcount to 1 to protect destruction
- ~CComAggObject()
- {
-- m_dwRef = 1L;
-+ this->m_dwRef = 1L;
- FinalRelease();
- #ifdef _ATL_DEBUG_INTERFACES
- _Module.DeleteNonAddRefThunk(this);
-@@ -2934,10 +2947,10 @@
- _Module.Unlock();
- }
-
-- STDMETHOD_(ULONG, AddRef)() {return InternalAddRef();}
-+ STDMETHOD_(ULONG, AddRef)() {return this->InternalAddRef();}
- STDMETHOD_(ULONG, Release)()
- {
-- ULONG l = InternalRelease();
-+ ULONG l = this->InternalRelease();
- if (l == 0)
- delete this;
- return l;
-@@ -2959,11 +2972,13 @@
- hRes = m_contained._InternalQueryInterface(iid, ppvObject);
- return hRes;
- }
-+#if 0
- template <class Q>
- HRESULT STDMETHODCALLTYPE QueryInterface(Q** pp)
- {
- return QueryInterface(__uuidof(Q), (void**)pp);
- }
-+#endif
- static HRESULT WINAPI CreateInstance(LPUNKNOWN pUnkOuter, CComAggObject<contained>** pp)
- {
- _ATL_VALIDATE_OUT_POINTER(pp);
-@@ -3023,21 +3038,21 @@
- // override it in your class and call each base class' version of this
- HRESULT FinalConstruct()
- {
-- InternalAddRef();
-- CComObjectRootEx<contained::_ThreadModel::ThreadModelNoCS>::FinalConstruct();
-+ this->InternalAddRef();
-+ CComObjectRootEx<typename contained::_ThreadModel::ThreadModelNoCS>::FinalConstruct();
- HRESULT hr = m_contained.FinalConstruct();
-- InternalRelease();
-+ this->InternalRelease();
- return hr;
- }
- void FinalRelease()
- {
-- CComObjectRootEx<contained::_ThreadModel::ThreadModelNoCS>::FinalRelease();
-+ CComObjectRootEx<typename contained::_ThreadModel::ThreadModelNoCS>::FinalRelease();
- m_contained.FinalRelease();
- }
- // Set refcount to 1 to protect destruction
- ~CComPolyObject()
- {
-- m_dwRef = 1L;
-+ this->m_dwRef = 1L;
- FinalRelease();
- #ifdef _ATL_DEBUG_INTERFACES
- _Module.DeleteNonAddRefThunk(this);
-@@ -3045,10 +3060,10 @@
- _Module.Unlock();
- }
-
-- STDMETHOD_(ULONG, AddRef)() {return InternalAddRef();}
-+ STDMETHOD_(ULONG, AddRef)() {return this->InternalAddRef();}
- STDMETHOD_(ULONG, Release)()
- {
-- ULONG l = InternalRelease();
-+ ULONG l = this->InternalRelease();
- if (l == 0)
- delete this;
- return l;
-@@ -3072,11 +3087,13 @@
- hRes = m_contained._InternalQueryInterface(iid, ppvObject);
- return hRes;
- }
-+#if 0
- template <class Q>
- HRESULT STDMETHODCALLTYPE QueryInterface(Q** pp)
- {
- return QueryInterface(__uuidof(Q), (void**)pp);
- }
-+#endif
- static HRESULT WINAPI CreateInstance(LPUNKNOWN pUnkOuter, CComPolyObject<contained>** pp)
- {
- _ATL_VALIDATE_OUT_POINTER(pp);
-@@ -3111,27 +3128,28 @@
- class CComTearOffObject : public Base
- {
- public:
-+ using Base::m_pOwner;
- CComTearOffObject(void* pv)
- {
- ATLASSERT(m_pOwner == NULL);
-- m_pOwner = reinterpret_cast<CComObject<Base::_OwnerClass>*>(pv);
-+ m_pOwner = reinterpret_cast<CComObject<typename Base::_OwnerClass>*>(pv);
- m_pOwner->AddRef();
- }
- // Set refcount to 1 to protect destruction
- ~CComTearOffObject()
- {
-- m_dwRef = 1L;
-- FinalRelease();
-+ this->m_dwRef = 1L;
-+ this->FinalRelease();
- #ifdef _ATL_DEBUG_INTERFACES
- _Module.DeleteNonAddRefThunk(_GetRawUnknown());
- #endif
- m_pOwner->Release();
- }
-
-- STDMETHOD_(ULONG, AddRef)() {return InternalAddRef();}
-+ STDMETHOD_(ULONG, AddRef)() {return this->InternalAddRef();}
- STDMETHOD_(ULONG, Release)()
- {
-- ULONG l = InternalRelease();
-+ ULONG l = this->InternalRelease();
- if (l == 0)
- delete this;
- return l;
-@@ -3150,27 +3168,27 @@
- public:
- typedef contained _BaseClass;
- CComCachedTearOffObject(void* pv) :
-- m_contained(((contained::_OwnerClass*)pv)->GetControllingUnknown())
-+ m_contained(((typename contained::_OwnerClass*)pv)->GetControllingUnknown())
- {
- ATLASSERT(m_contained.m_pOwner == NULL);
-- m_contained.m_pOwner = reinterpret_cast<CComObject<contained::_OwnerClass>*>(pv);
-+ m_contained.m_pOwner = reinterpret_cast<CComObject<typename contained::_OwnerClass>*>(pv);
- }
- //If you get a message that this call is ambiguous then you need to
- // override it in your class and call each base class' version of this
- HRESULT FinalConstruct()
- {
-- CComObjectRootEx<contained::_ThreadModel::ThreadModelNoCS>::FinalConstruct();
-+ CComObjectRootEx<typename contained::_ThreadModel::ThreadModelNoCS>::FinalConstruct();
- return m_contained.FinalConstruct();
- }
- void FinalRelease()
- {
-- CComObjectRootEx<contained::_ThreadModel::ThreadModelNoCS>::FinalRelease();
-+ CComObjectRootEx<typename contained::_ThreadModel::ThreadModelNoCS>::FinalRelease();
- m_contained.FinalRelease();
- }
- // Set refcount to 1 to protect destruction
- ~CComCachedTearOffObject()
- {
-- m_dwRef = 1L;
-+ this->m_dwRef = 1L;
- FinalRelease();
- #ifdef _ATL_DEBUG_INTERFACES
- _Module.DeleteNonAddRefThunk(this);
-@@ -3178,10 +3196,10 @@
- }
-
-
-- STDMETHOD_(ULONG, AddRef)() {return InternalAddRef();}
-+ STDMETHOD_(ULONG, AddRef)() {return this->InternalAddRef();}
- STDMETHOD_(ULONG, Release)()
- {
-- ULONG l = InternalRelease();
-+ ULONG l = this->InternalRelease();
- if (l == 0)
- delete this;
- return l;
-@@ -3260,6 +3278,8 @@
- {
- public:
- typedef license _LicenseClass;
-+ using license::IsLicenseValid;
-+ using license::GetLicenseKey;
- typedef CComClassFactory2<license> _ComMapClass;
- BEGIN_COM_MAP(CComClassFactory2<license>)
- COM_INTERFACE_ENTRY(IClassFactory)
-@@ -3297,7 +3317,7 @@
- if (ppvObject == NULL)
- return E_POINTER;
- *ppvObject = NULL;
-- if ( ((bstrKey != NULL) && !VerifyLicenseKey(bstrKey)) ||
-+ if ( ((bstrKey != NULL) && !this->VerifyLicenseKey(bstrKey)) ||
- ((bstrKey == NULL) && !IsLicenseValid()) )
- return CLASS_E_NOTLICENSED;
- if ((pUnkOuter != NULL) && !InlineIsEqualUnknown(riid))
-@@ -3363,7 +3383,7 @@
- if (pUnkOuter != NULL)
- hRes = CLASS_E_NOAGGREGATION;
- else
-- hRes = _Module.CreateInstance(m_pfnCreateInstance, riid, ppvObj);
-+ hRes = _Module.CreateInstance((LPVOID)m_pfnCreateInstance, riid, ppvObj);
- }
- return hRes;
- }
-@@ -3454,6 +3474,7 @@
- lpszHelpFile, iid, hRes);
- }
- #endif
-+#if 0
- template <class Q>
- static HRESULT CreateInstance(IUnknown* punkOuter, Q** pp)
- {
-@@ -3464,6 +3485,7 @@
- {
- return T::_CreatorClass::CreateInstance(NULL, __uuidof(Q), (void**) pp);
- }
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static
+#endif
- };
++
+ // --------------------------------------------------------------------------
+ // Installer generic handle definitions
+ // --------------------------------------------------------------------------
+@@ -2248,5 +2256,9 @@
+ // LOCALIZE END
- // ATL doesn't support multiple LCID's at the same time
-@@ -3651,7 +3673,7 @@
- {
- CComPtr<ITypeInfo> spInfo(spTypeInfo);
- CComPtr<ITypeInfo2> spTypeInfo2;
-- if (SUCCEEDED(spTypeInfo->QueryInterface(&spTypeInfo2)))
-+ if (SUCCEEDED(spTypeInfo->QueryInterface(IID_ITypeInfo2, (void**)&spTypeInfo2)))
- spInfo = spTypeInfo2;
-
- m_pInfo = spInfo.Detach();
-@@ -3760,6 +3782,9 @@
- /////////////////////////////////////////////////////////////////////////////
- // IDispEventImpl
-
-+template <class T>
-+struct _ATL_EVENT_ENTRY;
-+
- #ifdef _ATL_DLL
- ATLAPI AtlGetObjectSourceInterface(IUnknown* punkObj, GUID* plibid, IID* piid, unsigned short* pdwMajor, unsigned short* pdwMinor);
- #else
-@@ -3909,16 +3934,17 @@
- #else
- #pragma warning(disable:4740) // flow in/out of inline disables global opts
--inline void __declspec(naked) __stdcall CComStdCallThunkHelper()
-+inline void __stdcall CComStdCallThunkHelper()
- {
-- __asm
-- {
-- mov eax, [esp+4]; // get pThunk
-- mov edx, [eax+4]; // get the pThunk->pThis
-- mov [esp+4], edx; // replace pThunk with pThis
-- mov eax, [eax+8]; // get pThunk->pfn
-- jmp eax; // jump pfn
-- };
-+ asm(
-+ " movl $8(%ebp), %eax\n" // get pThunk
-+ " movl $4(%eax), edx\n" // get the pThunk->pThis
-+ " movl %edx, $8(%ebp)\n" // replace pThunk with pThis
-+ " movl $8(%eax), %eax\n" // get pThunk->pfn
-+ " movl %ebp, %esp\n"
-+ " popl %ebp\n"
-+ " jmp %eax" // jump pfn
-+ );
- }
- #pragma warning(default:4740)
- #endif
-@@ -3985,6 +4011,7 @@
- class ATL_NO_VTABLE IDispEventSimpleImpl : public _IDispEventLocator<nID, pdiid>
- {
- public:
-+ using _IDispEventLocator<nID, pdiid>::m_dwEventCookie;
- STDMETHOD(_LocDEQueryInterface)(REFIID riid, void ** ppvObject)
- {
- _ATL_VALIDATE_OUT_POINTER(ppvObject);
-@@ -3992,7 +4019,7 @@
- if (InlineIsEqualGUID(riid, *pdiid) ||
- InlineIsEqualUnknown(riid) ||
- InlineIsEqualGUID(riid, IID_IDispatch) ||
-- InlineIsEqualGUID(riid, m_iid))
-+ InlineIsEqualGUID(riid, this->m_iid))
- {
- *ppvObject = this;
- AddRef();
-@@ -4186,6 +4213,10 @@
- {
- public:
- typedef tihclass _tihclass;
-+ using IDispEventSimpleImpl<nID, T, pdiid>::m_libid;
-+ using IDispEventSimpleImpl<nID, T, pdiid>::m_iid;
-+ using IDispEventSimpleImpl<nID, T, pdiid>::m_wMajorVerNum;
-+ using IDispEventSimpleImpl<nID, T, pdiid>::m_wMinorVerNum;
-
- IDispEventImpl()
- {
-@@ -4475,6 +4506,11 @@
- }
- };
-
-+template <class Base, const IID* piid, class T, class Copy, class ThreadModel = CComObjectThreadModel>
-+class ATL_NO_VTABLE CComEnum;
-+template <class Base, const IID* piid, class T, class Copy, class CollType, class ThreadModel = CComObjectThreadModel>
-+class ATL_NO_VTABLE CComEnumOnSTL;
++#undef __in
++#undef __out
++#undef __inline
+
+ #endif // _MSI_H_
- /////////////////////////////////////////////////////////////////////////////
- // CComEnumImpl
-@@ -4746,7 +4782,7 @@
- return S_OK;
- }
-
--template <class Base, const IID* piid, class T, class Copy, class ThreadModel = CComObjectThreadModel>
-+template <class Base, const IID* piid, class T, class Copy, class ThreadModel>
- class ATL_NO_VTABLE CComEnum :
- public CComEnumImpl<Base, piid, T, Copy>,
- public CComObjectRootEx< ThreadModel >
-@@ -4868,7 +4904,7 @@
- return hRes;
- }
+--- include/msiquery.h.orig 2008-01-18 22:17:28.000000000 +0900
++++ include/msiquery.h 2008-03-24 23:42:24.983500000 +1000
+@@ -21,6 +21,14 @@
+ #define _MSIQUERY_H_
+ #include "msi.h" // INSTALLSTATE
--template <class Base, const IID* piid, class T, class Copy, class CollType, class ThreadModel = CComObjectThreadModel>
-+template <class Base, const IID* piid, class T, class Copy, class CollType, class ThreadModel>
- class ATL_NO_VTABLE CComEnumOnSTL :
- public IEnumOnSTLImpl<Base, piid, T, Copy, CollType>,
- public CComObjectRootEx< ThreadModel >
-@@ -4901,7 +4937,7 @@
- return E_INVALIDARG;
- HRESULT hr = E_FAIL;
- Index--;
-- CollType::iterator iter = m_coll.begin();
-+ typename CollType::iterator iter = m_coll.begin();
- while (iter != m_coll.end() && Index > 0)
- {
- iter++;
-@@ -5314,7 +5350,7 @@
- if (InlineIsEqualGUID(riid, IID_IConnectionPoint) || InlineIsEqualUnknown(riid))
- {
- *ppvObject = this;
-- AddRef();
-+ this->AddRef();
- #ifdef _ATL_DEBUG_INTERFACES
- _Module.AddThunk((IUnknown**)ppvObject, _T("IConnectionPointImpl"), riid);
- #endif // _ATL_DEBUG_INTERFACES
---- include/atl/atlconv.h.orig 2005-04-14 17:54:32.000000000 +0900
-+++ include/atl/atlconv.h 2006-09-18 20:37:06.015625000 +0900
-@@ -30,7 +30,11 @@
- // Following code is to avoid alloca causing a stack overflow.
- // It is intended for use from the _ATL_SAFE_ALLOCA macros
- // or Conversion macros.
--__declspec(selectany) DWORD _Atlosplatform = 0;
-+#ifdef _INIT_ATL_COMMON_VARS
-+DWORD _Atlosplatform = 0;
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
+#else
-+extern DWORD _Atlosplatform;
++#define __inline static
+#endif
- inline BOOL _AtlGetVersionEx()
- {
- OSVERSIONINFO osi;
-@@ -158,6 +162,9 @@
- // Verifies if sufficient space is available on the stack.
- inline bool _AtlVerifyStackAvailable(SIZE_T Size)
- {
-+#if 1
-+ return false;
-+#else
- bool bStackAvailable = true;
++
+ #define MSI_NULL_INTEGER 0x80000000 // integer value reserved for null
- __try
-@@ -173,6 +180,7 @@
- _Atlresetstkoflw();
- }
- return bStackAvailable;
-+#endif
+ // MsiOpenDatabase persist predefine values, otherwise output database path is used
+@@ -1026,5 +1034,9 @@
}
+ #endif
- #pragma prefast(pop)
---- include/atl/atlctl.h.orig 2005-04-14 17:54:32.000000000 +0900
-+++ include/atl/atlctl.h 2006-12-31 08:25:53.890625000 +0900
-@@ -10,6 +10,9 @@
-
- #ifndef __ATLCTL_H__
- #define __ATLCTL_H__
-+#if __GNUC__ >=3
-+#pragma GCC system_header
-+#endif
-
- #ifndef __cplusplus
- #error ATL requires C++ compilation (use a .cpp suffix)
-@@ -57,7 +60,7 @@
- namespace ATL
- {
-
--#pragma pack(push, _ATL_PACKING)
-+#pragma pack(push, 8)
-
- // Forward declarations
- //
-@@ -142,7 +145,7 @@
- CComControlBase(HWND& h) : m_hWndCD(h)
- {
- memset(this, 0, sizeof(CComControlBase));
-- m_phWndCD = &h;
-+// m_phWndCD = &h;
- m_sizeExtent.cx = 2*2540;
- m_sizeExtent.cy = 2*2540;
- m_sizeNatural = m_sizeExtent;
-@@ -530,13 +533,13 @@
- SIZE m_sizeNatural; //unscaled size in himetric
- SIZE m_sizeExtent; //current extents in himetric
- RECT m_rcPos; // position in pixels
--#pragma warning(disable: 4510 4610) // unnamed union
-- union
-- {
-+//#pragma warning(disable: 4510 4610) // unnamed union
-+// union
-+// {
- HWND& m_hWndCD;
-- HWND* m_phWndCD;
-- };
--#pragma warning(default: 4510 4610)
-+// HWND* m_phWndCD;
-+// };
-+//#pragma warning(default: 4510 4610)
- union
- {
- // m_nFreezeEvents is the only one actually used
-@@ -1362,7 +1365,7 @@
- class ATL_NO_VTABLE CComControl : public CComControlBase, public WinBase
- {
- public:
-- CComControl() : CComControlBase(m_hWnd) {}
-+ CComControl() : CComControlBase(this->m_hWnd) {}
- HRESULT FireOnRequestEdit(DISPID dispID)
- {
- T* pT = static_cast<T*>(this);
-@@ -1401,6 +1404,8 @@
- class CComCompositeControl : public CComControl< T, CAxDialogImpl< T > >
- {
- public:
-+ using CComControl< T, CAxDialogImpl< T > >::m_hWnd;
-+ using CComControl< T, CAxDialogImpl< T > >::GetNextDlgTabItem;
- CComCompositeControl()
- {
- m_hbrBackground = NULL;
-@@ -1429,7 +1434,7 @@
- m_hbrBackground = NULL;
- }
- OLE_COLOR clr;
-- HRESULT hr = GetAmbientBackColor(clr);
-+ HRESULT hr = this->GetAmbientBackColor(clr);
- if (SUCCEEDED(hr))
- {
- COLORREF rgb;
-@@ -1458,10 +1463,10 @@
- }
- HWND Create(HWND hWndParent, RECT& /*rcPos*/, LPARAM dwInitParam = NULL)
- {
-- CComControl< T, CAxDialogImpl< T > >::Create(hWndParent, dwInitParam);
-+ this->Create(hWndParent, dwInitParam);
- SetBackgroundColorFromAmbient();
- if (m_hWnd != NULL)
-- ShowWindow(SW_SHOWNOACTIVATE);
-+ this->ShowWindow(SW_SHOWNOACTIVATE);
- return m_hWnd;
- }
- BOOL CalcExtent(SIZE& size)
-@@ -1488,7 +1493,7 @@
- return FALSE;
- // find a direct child of the dialog from the window that has focus
- HWND hWndCtl = ::GetFocus();
-- if (IsChild(hWndCtl) && ::GetParent(hWndCtl) != m_hWnd)
-+ if (this->IsChild(hWndCtl) && ::GetParent(hWndCtl) != m_hWnd)
- {
- do
- {
-@@ -1546,7 +1551,7 @@
- break;
- }
-
-- return IsDialogMessage(pMsg);
-+ return this->IsDialogMessage(pMsg);
- }
- HRESULT IOleInPlaceObject_InPlaceDeactivate(void)
- {
-@@ -1563,7 +1568,7 @@
- }
- virtual HRESULT OnDraw(ATL_DRAWINFO& di)
- {
-- if(!m_bInPlaceActive)
-+ if(!this->m_bInPlaceActive)
- {
- HPEN hPen = (HPEN)::GetStockObject(BLACK_PEN);
- HBRUSH hBrush = (HBRUSH)::GetStockObject(GRAY_BRUSH);
---- include/atl/atlwin.h.orig 2005-04-14 17:54:32.000000000 +0900
-+++ include/atl/atlwin.h 2006-12-30 22:59:02.312500000 +0900
-@@ -10,6 +10,9 @@
-
- #ifndef __ATLWIN_H__
- #define __ATLWIN_H__
-+#if __GNUC__ >=3
-+#pragma GCC system_header
-+#endif
-
- #ifndef __cplusplus
- #error ATL requires C++ compilation (use a .cpp suffix)
-@@ -99,6 +102,8 @@
- #else
- #define CWndClassInfo CWndClassInfoA
- #endif
-+template <DWORD t_dwStyle = 0, DWORD t_dwExStyle = 0> class CWinTraits;
-+typedef CWinTraits<WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS, 0> CControlWinTraits;
- template <class T, class TBase = CWindow, class TWinTraits = CControlWinTraits> class CWindowImpl;
- template <class T, class TBase = CWindow> class CDialogImpl;
- #ifndef _ATL_NO_HOSTING
-@@ -658,6 +663,13 @@
- ATLASSERT(::IsWindow(m_hWnd));
- return ::GetDlgItemText(m_hWnd, nID, lpStr, nMaxCount);
- }
-+
-+ HWND GetDlgItem(int nID) const
-+ {
-+ ATLASSERT(::IsWindow(m_hWnd));
-+ return ::GetDlgItem(m_hWnd, nID);
-+ }
-+
- BOOL GetDlgItemText(int nID, BSTR& bstrText) const
- {
- ATLASSERT(::IsWindow(m_hWnd));
-@@ -847,12 +859,6 @@
- return (int)::SetWindowLong(m_hWnd, GWL_ID, nID);
- }
-
-- HWND GetDlgItem(int nID) const
-- {
-- ATLASSERT(::IsWindow(m_hWnd));
-- return ::GetDlgItem(m_hWnd, nID);
-- }
--
- // Alert Functions
-
- BOOL FlashWindow(BOOL bInvert)
-@@ -1319,7 +1325,9 @@
- }
- };
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif // _MSIQUERY_H_
--_declspec(selectany) RECT CWindow::rcDefault = { CW_USEDEFAULT, CW_USEDEFAULT, 0, 0 };
-+#ifdef _INIT_ATL_COMMON_VARS
-+RECT CWindow::rcDefault = { CW_USEDEFAULT, CW_USEDEFAULT, 0, 0 };
-+#endif
+--- include/olectl.h.orig 2008-03-22 06:10:42.000000000 +1000
++++ include/olectl.h 2008-03-24 23:32:05.264750000 +1000
+@@ -28,6 +28,14 @@
+ #include <ocidl.h>
+ #endif // _MAC
- /////////////////////////////////////////////////////////////////////////////
- // CAxWindow - client side for an ActiveX host window
-@@ -1330,6 +1338,7 @@
- class CAxWindowT : public TBase
- {
- public:
-+ using TBase::m_hWnd;
- // Constructors
- CAxWindowT(HWND hWnd = NULL) : TBase(hWnd)
- { }
-@@ -1439,11 +1448,13 @@
- hr = spUnk->QueryInterface(iid, ppUnk);
- return hr;
- }
-+#if 0
- template <class Q>
- HRESULT QueryHost(Q** ppUnk)
- {
- return QueryHost(__uuidof(Q), (void**)ppUnk);
- }
-+#endif
- HRESULT QueryControl(REFIID iid, void** ppUnk)
- {
- ATLASSERT(ppUnk != NULL);
-@@ -1459,11 +1470,13 @@
- hr = spUnk->QueryInterface(iid, ppUnk);
- return hr;
- }
-+#if 0
- template <class Q>
- HRESULT QueryControl(Q** ppUnk)
- {
- return QueryControl(__uuidof(Q), (void**)ppUnk);
- }
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static
+#endif
- HRESULT SetExternalDispatch(IDispatch* pDisp)
- {
- HRESULT hr;
-@@ -1750,7 +1763,7 @@
-
- // search for an empty one
-
-- for(i = 0; i < m_aChainEntry.GetSize(); i++)
-+ for(int i = 0; i < m_aChainEntry.GetSize(); i++)
- {
- if(m_aChainEntry[i] == NULL)
- {
-@@ -1841,7 +1854,7 @@
- /////////////////////////////////////////////////////////////////////////////
- // CWinTraits - Defines various default values for a window
-
--template <DWORD t_dwStyle = 0, DWORD t_dwExStyle = 0>
-+template <DWORD t_dwStyle, DWORD t_dwExStyle>
- class CWinTraits
- {
- public:
-@@ -1855,7 +1868,7 @@
- }
- };
++
+ #ifdef _OLEAUT32_
+ #define WINOLECTLAPI STDAPI
+ #define WINOLECTLAPI_(type) STDAPI_(type)
+@@ -616,5 +624,9 @@
--typedef CWinTraits<WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS, 0> CControlWinTraits;
-+//typedef CWinTraits<WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS, 0> CControlWinTraits;
- typedef CWinTraits<WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN | WS_CLIPSIBLINGS, WS_EX_APPWINDOW | WS_EX_WINDOWEDGE> CFrameWinTraits;
- typedef CWinTraits<WS_OVERLAPPEDWINDOW | WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS, WS_EX_MDICHILD> CMDIChildWinTraits;
+ #endif // defined(__MKTYPLIB__) || defined(__midl)
-@@ -1882,6 +1895,7 @@
- class ATL_NO_VTABLE CWindowImplRoot : public TBase, public CMessageMap
- {
- public:
-+ using TBase::GetDlgItem;
- CWndProcThunk m_thunk;
- const MSG* m_pCurrentMsg;
-
-@@ -1892,7 +1906,7 @@
- ~CWindowImplRoot()
- {
- #ifdef _DEBUG
-- if(m_hWnd != NULL) // should be cleared in WindowProc
-+ if(this->m_hWnd != NULL) // should be cleared in WindowProc
- {
- ATLTRACE2(atlTraceWindowing, 0, _T("ERROR - Object deleted before window was destroyed\n"));
- ATLASSERT(FALSE);
-@@ -2017,6 +2031,8 @@
- class ATL_NO_VTABLE CWindowImplBaseT : public CWindowImplRoot< TBase >
- {
- public:
-+ using CWindowImplRoot< TBase >::m_hWnd;
-+ using CWindowImplRoot< TBase >::m_thunk;
- WNDPROC m_pfnSuperWindowProc;
-
- CWindowImplBaseT() : m_pfnSuperWindowProc(::DefWindowProc)
-@@ -2049,7 +2065,7 @@
-
- LRESULT DefWindowProc()
- {
-- const MSG* pMsg = m_pCurrentMsg;
-+ const MSG* pMsg = this->m_pCurrentMsg;
- LRESULT lRes = 0;
- if (pMsg != NULL)
- lRes = DefWindowProc(pMsg->message, pMsg->wParam, pMsg->lParam);
-@@ -2219,6 +2235,7 @@
- class ATL_NO_VTABLE CWindowImpl : public CWindowImplBaseT< TBase, TWinTraits >
- {
- public:
-+ using CWindowImplBaseT< TBase, TWinTraits >::StartWindowProc;
- DECLARE_WND_CLASS(NULL)
-
- HWND Create(HWND hWndParent, RECT& rcPos, LPCTSTR szWindowName = NULL,
-@@ -2226,8 +2243,8 @@
- UINT nID = 0, LPVOID lpCreateParam = NULL)
- {
- if (T::GetWndClassInfo().m_lpszOrigName == NULL)
-- T::GetWndClassInfo().m_lpszOrigName = GetWndClassName();
-- ATOM atom = T::GetWndClassInfo().Register(&m_pfnSuperWindowProc);
-+ T::GetWndClassInfo().m_lpszOrigName = this->GetWndClassName();
-+ ATOM atom = T::GetWndClassInfo().Register(&(this->m_pfnSuperWindowProc));
-
- dwStyle = T::GetWndStyle(dwStyle);
- dwExStyle = T::GetWndExStyle(dwExStyle);
-@@ -2244,6 +2261,7 @@
- class ATL_NO_VTABLE CDialogImplBaseT : public CWindowImplRoot< TBase >
- {
- public:
-+ using CWindowImplRoot< TBase >::m_hWnd;
- virtual DLGPROC GetDialogProc()
- {
- return DialogProc;
-@@ -2344,6 +2362,9 @@
- class ATL_NO_VTABLE CDialogImpl : public CDialogImplBaseT< TBase >
- {
- public:
-+ using CDialogImplBaseT< TBase >::m_hWnd;
-+ using CDialogImplBaseT< TBase >::m_thunk;
-+ typedef CDialogImplBaseT< TBase > CDialogImplBase_Class;
- #ifdef _DEBUG
- bool m_bModal;
- CDialogImpl() : m_bModal(false) { }
-@@ -2422,6 +2443,8 @@
- class ATL_NO_VTABLE CAxDialogImpl : public CDialogImplBaseT< TBase >
- {
- public:
-+ using CDialogImplBaseT< TBase >::m_hWnd;
-+ using CDialogImplBaseT< TBase >::m_thunk;
- #ifdef _DEBUG
- bool m_bModal;
- CAxDialogImpl() : m_bModal(false) { }
-@@ -2515,6 +2538,8 @@
- class CContainedWindowT : public TBase
- {
- public:
-+ using TBase::m_hWnd;
-+ using TBase::GetWndClassName;
- CWndProcThunk m_thunk;
- LPCTSTR m_lpszClassName;
- WNDPROC m_pfnSuperWindowProc;
-@@ -2536,7 +2561,7 @@
- { }
-
- CContainedWindowT(CMessageMap* pObject, DWORD dwMsgMapID = 0)
-- : m_lpszClassName(TBase::GetWndClassName()),
-+ : m_lpszClassName(GetWndClassName()),
- m_pfnSuperWindowProc(::DefWindowProc),
- m_pObject(pObject), m_dwMsgMapID(dwMsgMapID),
- m_pCurrentMsg(NULL)
-@@ -2666,7 +2691,7 @@
- LPCTSTR szWindowName = NULL, DWORD dwStyle = 0, DWORD dwExStyle = 0,
- UINT nID = 0, LPVOID lpCreateParam = NULL)
- {
-- m_lpszClassName = TBase::GetWndClassName();
-+ m_lpszClassName = GetWndClassName();
- m_pfnSuperWindowProc = ::DefWindowProc;
- m_pObject = pObject;
- m_dwMsgMapID = dwMsgMapID;
-@@ -2959,8 +2984,11 @@
- {
-
- ::EnterCriticalSection(&pM->m_csWindowCreate);
-- __try
-+ jmp_buf _sejmpbuf;
-+ __SEHandler _sehandler;
-+ if (__builtin_setjmp(_sejmpbuf) == 0)
- {
-+ _sehandler.Set(_sejmpbuf, &pM->m_csWindowCreate, EXCEPTION_CONTINUE_SEARCH, NULL, atlfinalleavecriticalsection);
- if(p->m_atom == 0)
- {
- HINSTANCE hInst = pM->m_hInst;
-@@ -2979,7 +3007,7 @@
- if(!::GetClassInfoExA(_Module.GetModuleInstance(), p->m_lpszOrigName, &wc))
- {
- fFail = TRUE;
-- __leave;
-+ __builtin_longjmp(_sejmpbuf, 1);
- }
- }
- memcpy(&p->m_wc, &wc, sizeof(WNDCLASSEX));
-@@ -3011,10 +3039,7 @@
- p->m_atom = ::RegisterClassExA(&p->m_wc);
- }
- }
-- __finally
-- {
-- ::LeaveCriticalSection(&pM->m_csWindowCreate);
-- }
-+ _sehandler.Reset();
- }
-
- if (fFail)
-@@ -3038,8 +3063,11 @@
- if (p->m_atom == 0)
- {
- ::EnterCriticalSection(&pM->m_csWindowCreate);
-- __try
-+ jmp_buf _sejmpbuf;
-+ __SEHandler _sehandler;
-+ if (__builtin_setjmp(_sejmpbuf) == 0)
- {
-+ _sehandler.Set(_sejmpbuf, &pM->m_csWindowCreate, EXCEPTION_CONTINUE_SEARCH, NULL, atlfinalleavecriticalsection);
- if(p->m_atom == 0)
- {
- HINSTANCE hInst = pM->m_hInst;
-@@ -3058,7 +3086,7 @@
- if(!::GetClassInfoExW(_Module.GetModuleInstance(), p->m_lpszOrigName, &wc))
- {
- fFail = TRUE;
-- __leave;
-+ __builtin_longjmp(_sejmpbuf, -1);
- }
- }
- memcpy(&p->m_wc, &wc, sizeof(WNDCLASSEX));
-@@ -3090,10 +3118,7 @@
- p->m_atom = ::RegisterClassExW(&p->m_wc);
- }
- }
-- __finally
-- {
-- ::LeaveCriticalSection(&pM->m_csWindowCreate);
-- }
-+ _sehandler.Reset();
- }
-
- if (fFail)
---- include/atl/statreg.h.orig 2005-04-14 17:54:34.000000000 +0900
-+++ include/atl/statreg.h 2006-09-18 20:05:01.468750000 +0900
-@@ -573,15 +573,16 @@
- return hRes;
- }
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif // _OLECTL_H_
--__declspec(selectany) LPCTSTR CRegParser::rgszNeverDelete[] = //Component Catagories
-+#ifdef _INIT_ATL_COMMON_VARS
-+LPCTSTR CRegParser::rgszNeverDelete[] = //Component Catagories
- {
- _T("CLSID"), _T("TYPELIB")
- };
+--- include/propkeydef.h.orig 2008-01-18 22:17:32.000000000 +0900
++++ include/propkeydef.h 2008-03-22 21:56:32.734375000 +1000
+@@ -2,6 +2,10 @@
+ #define PID_FIRST_USABLE 2
+ #endif
--__declspec(selectany) const int CRegParser::cbNeverDelete = sizeof(rgszNeverDelete) / sizeof(LPCTSTR*);
--__declspec(selectany) const int CRegParser::MAX_VALUE=4096;
--__declspec(selectany) const int CRegParser::MAX_TYPE=MAX_VALUE;
--
-+const int CRegParser::cbNeverDelete = sizeof(rgszNeverDelete) / sizeof(LPCTSTR*);
-+const int CRegParser::MAX_VALUE=4096;
-+const int CRegParser::MAX_TYPE=MAX_VALUE;
++#ifndef __MIDL_CONST
++#define __MIDL_CONST const
+#endif
-
- inline BOOL CRegParser::VTFromRegType(LPCTSTR szValueType, VARTYPE& vt)
- {
++
+ #ifndef REFPROPERTYKEY
+ #ifdef __cplusplus
+ #define REFPROPERTYKEY const PROPERTYKEY &
--- icnlude/dxtrans.h.orig 2004-09-28 00:18:32.000000000 +0900
+++ include/dxtrans.h 2007-01-02 22:08:41.640625000 +0900
@@ -1,3 +1,6 @@