7e47093865
2007/04/18 13:23:35 vg 1.2.6.1: #i75844# MinGW port efforts part II
3008 lines
101 KiB
Diff
3008 lines
101 KiB
Diff
--- include/crtdbg.h.orig 2006-09-18 01:21:38.968750000 +0900
|
||
+++ include/crtdbg.h 2006-09-02 23:12:50.109375000 +0900
|
||
@@ -0,0 +1,11 @@
|
||
+#ifndef _CRTDBG_H
|
||
+#define _CRTDBG_H
|
||
+#if __GNUC__ >=3
|
||
+#pragma GCC system_header
|
||
+#endif
|
||
+
|
||
+#ifndef _ASSERTE
|
||
+#define _ASSERTE(expr) ((void)0)
|
||
+#endif
|
||
+
|
||
+#endif
|
||
--- include/winres.h.orig 2006-07-22 23:41:18.000000000 +0900
|
||
+++ include/winres.h 2006-07-22 23:41:18.000000000 +0900
|
||
@@ -0,0 +1,13 @@
|
||
+#ifndef _WINRES_H
|
||
+#define _WINRES_H
|
||
+#if __GNUC__ >=3
|
||
+#pragma GCC system_header
|
||
+#endif
|
||
+
|
||
+#define VS_VERSION_INFO 1
|
||
+#include <winresrc.h>
|
||
+#ifdef IDC_STATIC
|
||
+#undef IDC_STATIC
|
||
+#endif
|
||
+#define IDC_STATIC (-1)
|
||
+#endif
|
||
--- include/excpt.h.orig 2005-01-14 05:19:52.000000000 +0900
|
||
+++ include/excpt.h 2006-12-31 09:21:56.000000000 +0900
|
||
@@ -16,8 +16,11 @@
|
||
|
||
/* All the headers include this file. */
|
||
#include <_mingw.h>
|
||
+#include <setjmp.h>
|
||
+#include <stdarg.h>
|
||
|
||
#include <windef.h>
|
||
+#include <winbase.h>
|
||
|
||
/*
|
||
* 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.
|
||
*/
|
||
-typedef EXCEPTION_DISPOSITION (*PEXCEPTION_HANDLER)
|
||
+typedef EXCEPTION_DISPOSITION (* PEXCEPTION_HANDLER)
|
||
(struct _EXCEPTION_RECORD*, void*, struct _CONTEXT*, void*);
|
||
|
||
/*
|
||
@@ -93,8 +96,122 @@
|
||
__asm__ ("movl (%%esp),%%eax;movl %%eax,%%fs:0;addl $8,%%esp;" \
|
||
: : : "%eax");
|
||
|
||
+WINBASEAPI
|
||
+VOID
|
||
+WINAPI
|
||
+RtlUnwind (
|
||
+ IN PVOID TargetFrame OPTIONAL,
|
||
+ IN PVOID TargetIp OPTIONAL,
|
||
+ IN PEXCEPTION_RECORD ExceptionRecord OPTIONAL,
|
||
+ IN PVOID ReturnValue
|
||
+ );
|
||
#ifdef __cplusplus
|
||
}
|
||
+
|
||
+class __SEHandler
|
||
+{
|
||
+ public:
|
||
+ __SEHandler() {}
|
||
+ ~__SEHandler() {}
|
||
+ typedef int (*PF)(void *, LPEXCEPTION_POINTERS);
|
||
+ typedef void (*PH)(void *, LPEXCEPTION_POINTERS);
|
||
+ typedef void (*PN)(void *);
|
||
+ void Set(jmp_buf jb, void *pdata=NULL, PF pfilter=NULL, PH phandlerbody=NULL, PN pfinal=NULL)
|
||
+ {
|
||
+ __builtin_memcpy(m_jmpbuf, jb, sizeof(jmp_buf));
|
||
+ m_pData=pdata;
|
||
+ switch (reinterpret_cast<int>(pfilter))
|
||
+ {
|
||
+ default:
|
||
+ m_filter=pfilter;
|
||
+ break;
|
||
+ case EXCEPTION_CONTINUE_EXECUTION:
|
||
+ m_filter=DefaultFilterContinueExecution;
|
||
+ break;
|
||
+ case EXCEPTION_EXECUTE_HANDLER:
|
||
+ m_filter=DefaultFilterExecuteHandler;
|
||
+ break;
|
||
+ case EXCEPTION_CONTINUE_SEARCH:
|
||
+ m_filter=DefaultFilterContinueSearch;
|
||
+ break;
|
||
+ }
|
||
+ if (phandlerbody)
|
||
+ m_handlerbody=phandlerbody;
|
||
+ else
|
||
+ m_handlerbody=DefaultHandler;
|
||
+ if (pfinal)
|
||
+ m_final=pfinal;
|
||
+ else
|
||
+ m_final=DefaultFinal;
|
||
+ m_ER.pHandlerClass = this;
|
||
+ m_ER.hp = handler;
|
||
+ asm("movl %%fs:0, %%eax\n\t"
|
||
+ "movl %%eax, %0": : "m" (m_ER.prev): "%eax" );
|
||
+ asm("movl %0, %%eax\n\t"
|
||
+ "movl %%eax, %%fs:0": : "r" (&m_ER): "%eax" );
|
||
+ }
|
||
+ void Reset()
|
||
+ {
|
||
+ m_final(m_pData);
|
||
+ asm("movl %0, %%eax \n\t"
|
||
+ "movl %%eax, %%fs:0"
|
||
+ : : "m" (m_ER.prev): "%eax");
|
||
+ }
|
||
+ private:
|
||
+ __SEHandler(const __SEHandler&);
|
||
+ __SEHandler& operator=(const __SEHandler&);
|
||
+ struct _ER {
|
||
+ _ER* prev;
|
||
+ PEXCEPTION_HANDLER hp;
|
||
+ __SEHandler *pHandlerClass;
|
||
+ };
|
||
+ static EXCEPTION_DISPOSITION handler(
|
||
+ struct _EXCEPTION_RECORD *pExceptionRecord,
|
||
+ void * EstablisherFrame,
|
||
+ struct _CONTEXT *ContextRecord,
|
||
+ void * /*DispatcherContext*/)
|
||
+ {
|
||
+ __SEHandler* pThis = reinterpret_cast< _ER * >(EstablisherFrame)->pHandlerClass;
|
||
+ if ( pExceptionRecord->ExceptionFlags & EH_UNWINDING )
|
||
+ {
|
||
+ pThis->m_final(pThis->m_pData);
|
||
+ return ExceptionContinueSearch;
|
||
+ }
|
||
+ EXCEPTION_POINTERS ep={pExceptionRecord, ContextRecord};
|
||
+ switch ( pThis->m_filter(pThis->m_pData, &ep) )
|
||
+ {
|
||
+ case EXCEPTION_EXECUTE_HANDLER:
|
||
+ RtlUnwind(EstablisherFrame, &&__set_label, pExceptionRecord, 0);
|
||
+__set_label:
|
||
+ pThis->m_handlerbody(pThis->m_pData, &ep);
|
||
+ ContextRecord->Ebp = pThis->m_jmpbuf[0];
|
||
+ ContextRecord->Eip = pThis->m_jmpbuf[1];
|
||
+ ContextRecord->Esp = pThis->m_jmpbuf[2];
|
||
+ return ExceptionContinueExecution;
|
||
+ case EXCEPTION_CONTINUE_SEARCH:
|
||
+ return ExceptionContinueSearch;
|
||
+ case EXCEPTION_CONTINUE_EXECUTION:
|
||
+ return ExceptionContinueExecution;
|
||
+ }
|
||
+ return ExceptionContinueExecution;
|
||
+ }
|
||
+ static int DefaultFilterContinueSearch(void *, LPEXCEPTION_POINTERS) { return EXCEPTION_CONTINUE_SEARCH; }
|
||
+ static int DefaultFilterContinueExecution(void *, LPEXCEPTION_POINTERS) { return EXCEPTION_CONTINUE_EXECUTION; }
|
||
+ static int DefaultFilterExecuteHandler(void *, LPEXCEPTION_POINTERS) { return EXCEPTION_EXECUTE_HANDLER; }
|
||
+ static void DefaultHandler(void *, LPEXCEPTION_POINTERS) {}
|
||
+ static void DefaultFinal(void *) {}
|
||
+ typedef int (*handler_p)(
|
||
+ struct _EXCEPTION_RECORD *ExceptionRecord,
|
||
+ void * EstablisherFrame,
|
||
+ struct _CONTEXT *ContextRecord,
|
||
+ void * DispatcherContext);
|
||
+ _ER m_ER;
|
||
+ void *m_pData;
|
||
+ PN m_final;
|
||
+ PH m_handlerbody;
|
||
+ PF m_filter;
|
||
+ jmp_buf m_jmpbuf;
|
||
+};
|
||
#endif
|
||
|
||
#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
|
||
#define _ttelldir _wtelldir
|
||
#define _tseekdir _wseekdir
|
||
+
|
||
+#define _ttempnam _wtempnam
|
||
+
|
||
|
||
#else /* Not _UNICODE */
|
||
|
||
@@ -405,6 +408,8 @@
|
||
#define _ttelldir telldir
|
||
#define _tseekdir seekdir
|
||
|
||
+#define _ttempnam _tempnam
|
||
+
|
||
#endif /* Not _UNICODE */
|
||
|
||
/*
|
||
--- include/amvideo.h.orig 2006-11-19 08:08:30.000000000 +0900
|
||
+++ include/amvideo.h 2007-01-16 23:11:24.656250000 +0900
|
||
@@ -52,10 +52,10 @@
|
||
BITMAPINFOHEADER bmiHeader;
|
||
} VIDEOINFOHEADER;
|
||
typedef struct tagVIDEOINFO {
|
||
- RECT rcSource,
|
||
- RECT rcTarget,
|
||
- DWORD dwBitRate,
|
||
- DWORD dwBitErrorRate,
|
||
+ RECT rcSource;
|
||
+ RECT rcTarget;
|
||
+ DWORD dwBitRate;
|
||
+ DWORD dwBitErrorRate;
|
||
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 @@
|
||
} MEDIA_SAMPLE_CONTENT;
|
||
/*--- DirectShow Reference - DirectShow Structures */
|
||
typedef struct {
|
||
- DWORD dwOffset
|
||
- DWORD dwPacketLength
|
||
- DWORD dwStride
|
||
+ DWORD dwOffset;
|
||
+ DWORD dwPacketLength;
|
||
+ DWORD dwStride;
|
||
} MPEG2_TRANSPORT_STRIDE;
|
||
typedef struct {
|
||
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 @@
|
||
typedef _COM_interface ICreateErrorInfo *LPCREATEERRORINFO;
|
||
typedef _COM_interface ISupportErrorInfo *LPSUPPORTERRORINFO;
|
||
typedef _COM_interface IRecordInfo *LPRECORDINFO;
|
||
+typedef _COM_interface IErrorLog *LPERRORLOG;
|
||
+typedef _COM_interface IPropertyBag *LPPROPERTYBAG;
|
||
|
||
extern const IID IID_ITypeLib;
|
||
extern const IID IID_ITypeLib2;
|
||
@@ -765,6 +767,29 @@
|
||
};
|
||
#undef INTERFACE
|
||
|
||
+EXTERN_C const IID IID_IErrorLog;
|
||
+#define INTERFACE IErrorLog
|
||
+DECLARE_INTERFACE_(IErrorLog,IUnknown)
|
||
+{
|
||
+ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
|
||
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||
+ STDMETHOD(AddError)(THIS_ LPCOLESTR,LPEXCEPINFO) PURE;
|
||
+};
|
||
+#undef INTERFACE
|
||
+
|
||
+EXTERN_C const IID IID_IPropertyBag;
|
||
+#define INTERFACE IPropertyBag
|
||
+DECLARE_INTERFACE_(IPropertyBag,IUnknown)
|
||
+{
|
||
+ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
|
||
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||
+ STDMETHOD(Read)(THIS_ LPCOLESTR,LPVARIANT,LPERRORLOG) PURE;
|
||
+ STDMETHOD(Write)(THIS_ LPCOLESTR,LPVARIANT) PURE;
|
||
+};
|
||
+#undef INTERFACE
|
||
+
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|
||
--- include/objidl.h.orig 2006-11-19 08:08:34.000000000 +0900
|
||
+++ include/objidl.h 2007-01-20 11:56:53.875000000 +0900
|
||
@@ -1,3 +1,4 @@
|
||
+#include <ole2.h>
|
||
#ifndef _OBJIDL_H
|
||
#define _OBJIDL_H
|
||
#if __GNUC__ >= 3
|
||
@@ -127,6 +128,7 @@
|
||
struct IAdviseSink *pAdvSink;
|
||
DWORD dwConnection;
|
||
} STATDATA;
|
||
+#if 0
|
||
typedef struct tagSTATPROPSETSTG {
|
||
FMTID fmtid;
|
||
CLSID clsid;
|
||
@@ -135,6 +137,7 @@
|
||
FILETIME ctime;
|
||
FILETIME atime;
|
||
} STATPROPSETSTG;
|
||
+#endif
|
||
typedef enum tagEXTCONN {
|
||
EXTCONN_STRONG=1,
|
||
EXTCONN_WEAK=2,
|
||
@@ -247,6 +250,7 @@
|
||
typedef enum tagSERVERCALL {
|
||
SERVERCALL_ISHANDLED,SERVERCALL_REJECTED,SERVERCALL_RETRYLATER
|
||
} SERVERCALL;
|
||
+#if 0
|
||
typedef struct tagCAUB {
|
||
ULONG cElems;
|
||
unsigned char *pElems;
|
||
@@ -406,6 +410,7 @@
|
||
PROPSETFLAG_DEFAULT,PROPSETFLAG_NONSIMPLE,PROPSETFLAG_ANSI,
|
||
PROPSETFLAG_UNBUFFERED=4
|
||
} PROPSETFLAG;
|
||
+#endif
|
||
typedef struct tagSTORAGELAYOUT {
|
||
DWORD LayoutType;
|
||
OLECHAR* pwcsElementName;
|
||
@@ -454,8 +459,10 @@
|
||
DECLARE_ENUMERATOR(FORMATETC);
|
||
DECLARE_ENUMERATOR(HLITEM);
|
||
DECLARE_ENUMERATOR(STATDATA);
|
||
+#if 0
|
||
DECLARE_ENUMERATOR(STATPROPSETSTG);
|
||
DECLARE_ENUMERATOR(STATPROPSTG);
|
||
+#endif
|
||
DECLARE_ENUMERATOR(STATSTG);
|
||
DECLARE_ENUMERATOR_(IEnumString,LPOLESTR);
|
||
DECLARE_ENUMERATOR_(IEnumMoniker,_COM_interface IMoniker*);
|
||
@@ -927,6 +934,7 @@
|
||
};
|
||
#undef INTERFACE
|
||
|
||
+#if 0
|
||
EXTERN_C const IID IID_IPropertyStorage;
|
||
#define INTERFACE IPropertyStorage
|
||
DECLARE_INTERFACE_(IPropertyStorage,IUnknown)
|
||
@@ -962,6 +970,7 @@
|
||
STDMETHOD(Enum)(THIS_ IEnumSTATPROPSETSTG**) PURE;
|
||
};
|
||
#undef INTERFACE
|
||
+#endif
|
||
|
||
EXTERN_C const IID IID_IClientSecurity;
|
||
#define INTERFACE IClientSecurity
|
||
--- include/objfwd.h.orig 2006-03-26 09:21:36.000000000 +0900
|
||
+++ include/objfwd.h 2006-03-26 09:21:42.000000000 +0900
|
||
@@ -27,7 +27,7 @@
|
||
typedef _COM_interface IEnumFORMATETC *LPENUMFORMATETC;
|
||
typedef _COM_interface IEnumSTATDATA *LPENUMSTATDATA;
|
||
typedef _COM_interface IEnumSTATSTG *LPENUMSTATSTG;
|
||
-typedef _COM_interface IEnumSTATPROPSTG LPENUMSTATPROPSTG;
|
||
+typedef _COM_interface IEnumSTATPROPSTG *LPENUMSTATPROPSTG;
|
||
typedef _COM_interface IEnumString *LPENUMSTRING;
|
||
typedef _COM_interface IEnumUnknown *LPENUMUNKNOWN;
|
||
typedef _COM_interface IStorage *LPSTORAGE;
|
||
--- include/uxtheme.h.orig 2006-11-19 08:08:36.000000000 +0900
|
||
+++ include/uxtheme.h 2007-01-18 18:51:37.125000000 +0900
|
||
@@ -10,7 +10,7 @@
|
||
extern "C" {
|
||
#endif
|
||
|
||
-#if (_WIN32_WINNT >= 0x0501)
|
||
+//#if (_WIN32_WINNT >= 0x0501)
|
||
#define DTBG_CLIPRECT 0x00000001
|
||
#define DTBG_DRAWSOLID 0x00000002
|
||
#define DTBG_OMITBORDER 0x00000004
|
||
@@ -265,7 +265,7 @@
|
||
HTHEME WINAPI OpenThemeData(HWND,LPCWSTR);
|
||
void WINAPI SetThemeAppProperties(DWORD);
|
||
HRESULT WINAPI SetWindowTheme(HWND,LPCWSTR,LPCWSTR);
|
||
-#endif
|
||
+//#endif
|
||
|
||
#ifdef __cplusplus
|
||
}
|
||
--- include/winbase.h.orig 2006-11-19 08:08:36.000000000 +0900
|
||
+++ include/winbase.h 2007-01-20 00:16:33.484375000 +0900
|
||
@@ -993,12 +993,14 @@
|
||
WORD Reserved2;
|
||
CHAR szPathName[OFS_MAXPATHNAME];
|
||
} OFSTRUCT,*LPOFSTRUCT,*POFSTRUCT;
|
||
+#if 0
|
||
typedef struct _WIN_CERTIFICATE {
|
||
DWORD dwLength;
|
||
WORD wRevision;
|
||
WORD wCertificateType;
|
||
BYTE bCertificate[1];
|
||
} WIN_CERTIFICATE, *LPWIN_CERTIFICATE;
|
||
+#endif
|
||
#if (_WIN32_WINNT >= 0x0501)
|
||
typedef struct tagACTCTXA {
|
||
ULONG cbSize;
|
||
@@ -1337,8 +1337,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)
|
||
-WINBASEAPI HANDLE WINAPI FindFirstVolumeA(LPCSTR,DWORD);
|
||
-WINBASEAPI HANDLE WINAPI FindFirstVolumeW(LPCWSTR,DWORD);
|
||
+WINBASEAPI HANDLE WINAPI FindFirstVolumeA(LPSTR,DWORD);
|
||
+WINBASEAPI HANDLE WINAPI FindFirstVolumeW(LPWSTR,DWORD);
|
||
WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointA(LPSTR,LPSTR,DWORD);
|
||
WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointW(LPWSTR,LPWSTR,DWORD);
|
||
#endif
|
||
@@ -1346,7 +1346,7 @@
|
||
WINBASEAPI BOOL WINAPI FindNextFileA(HANDLE,LPWIN32_FIND_DATAA);
|
||
WINBASEAPI BOOL WINAPI FindNextFileW(HANDLE,LPWIN32_FIND_DATAW);
|
||
#if (_WIN32_WINNT >= 0x0500)
|
||
-WINBASEAPI BOOL WINAPI FindNextVolumeA(HANDLE,LPCSTR,DWORD);
|
||
+WINBASEAPI BOOL WINAPI FindNextVolumeA(HANDLE,LPSTR,DWORD);
|
||
WINBASEAPI BOOL WINAPI FindNextVolumeW(HANDLE,LPWSTR,DWORD);
|
||
WINBASEAPI BOOL WINAPI FindNextVolumeMountPointA(HANDLE,LPSTR,DWORD);
|
||
WINBASEAPI BOOL WINAPI FindNextVolumeMountPointW(HANDLE,LPWSTR,DWORD);
|
||
@@ -1458,10 +1458,10 @@
|
||
WINBASEAPI DWORD WINAPI GetLogicalDrives(void);
|
||
WINBASEAPI DWORD WINAPI GetLogicalDriveStringsA(DWORD,LPSTR);
|
||
WINBASEAPI DWORD WINAPI GetLogicalDriveStringsW(DWORD,LPWSTR);
|
||
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
|
||
+//#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
|
||
WINBASEAPI DWORD WINAPI GetLongPathNameA(LPCSTR,LPSTR,DWORD);
|
||
WINBASEAPI DWORD WINAPI GetLongPathNameW(LPCWSTR,LPWSTR,DWORD);
|
||
-#endif
|
||
+//#endif
|
||
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 +1499,9 @@
|
||
#endif
|
||
WINBASEAPI HANDLE WINAPI GetProcessHeap(VOID);
|
||
WINBASEAPI DWORD WINAPI GetProcessHeaps(DWORD,PHANDLE);
|
||
-#if (_WIN32_WINNT >= 0x0501)
|
||
+//#if (_WIN32_WINNT >= 0x0501)
|
||
WINBASEAPI DWORD WINAPI GetProcessId(HANDLE);
|
||
-#endif
|
||
+//#endif
|
||
#if (_WIN32_WINNT >= 0x0500)
|
||
WINBASEAPI BOOL WINAPI GetProcessIoCounters(HANDLE,PIO_COUNTERS);
|
||
#endif
|
||
@@ -1779,9 +1779,9 @@
|
||
WINBASEAPI BOOL WINAPI OpenProcessToken(HANDLE,DWORD,PHANDLE);
|
||
WINBASEAPI HANDLE WINAPI OpenSemaphoreA(DWORD,BOOL,LPCSTR);
|
||
WINBASEAPI HANDLE WINAPI OpenSemaphoreW(DWORD,BOOL,LPCWSTR);
|
||
-#if (_WIN32_WINNT >= 0x0500) || (_WIN32_WINDOWS >= 0x0490)
|
||
+//#if (_WIN32_WINNT >= 0x0500) || (_WIN32_WINDOWS >= 0x0490)
|
||
WINBASEAPI HANDLE WINAPI OpenThread(DWORD,BOOL,DWORD);
|
||
-#endif
|
||
+//#endif
|
||
WINBASEAPI BOOL WINAPI OpenThreadToken(HANDLE,DWORD,BOOL,PHANDLE);
|
||
WINBASEAPI HANDLE WINAPI OpenWaitableTimerA(DWORD,BOOL,LPCSTR);
|
||
WINBASEAPI HANDLE WINAPI OpenWaitableTimerW(DWORD,BOOL,LPCWSTR);
|
||
@@ -2122,9 +2122,9 @@
|
||
#define GetFileAttributesEx GetFileAttributesExW
|
||
#define GetFullPathName GetFullPathNameW
|
||
#define GetLogicalDriveStrings GetLogicalDriveStringsW
|
||
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
|
||
+//#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
|
||
#define GetLongPathName GetLongPathNameW
|
||
-#endif
|
||
+//#endif
|
||
#define GetModuleFileName GetModuleFileNameW
|
||
#define GetModuleHandle GetModuleHandleW
|
||
#if (_WIN32_WINNT >= 0x0500)
|
||
@@ -2317,9 +2317,9 @@
|
||
#define GetFileAttributesEx GetFileAttributesExA
|
||
#define GetFullPathName GetFullPathNameA
|
||
#define GetLogicalDriveStrings GetLogicalDriveStringsA
|
||
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
|
||
+//#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
|
||
#define GetLongPathName GetLongPathNameA
|
||
-#endif
|
||
+//#endif
|
||
#define GetNamedPipeHandleState GetNamedPipeHandleStateA
|
||
#define GetModuleHandle GetModuleHandleA
|
||
#if (_WIN32_WINNT >= 0x0500)
|
||
--- include/wininet.h.orig 2006-03-26 09:21:36.000000000 +0900
|
||
+++ include/wininet.h 2006-04-04 23:18:14.000000000 +0900
|
||
@@ -868,6 +868,7 @@
|
||
BOOL WINAPI InternetAutodial(DWORD,DWORD);
|
||
BOOL WINAPI InternetAutodialHangup(DWORD);
|
||
BOOL WINAPI InternetGetConnectedState(LPDWORD,DWORD);
|
||
+BOOL WINAPI InternetGetConnectedStateEx(LPDWORD,LPTSTR,DWORD,DWORD);
|
||
BOOL WINAPI InternetSetDialState(LPCTSTR,DWORD,DWORD);
|
||
BOOL WINAPI InternetReadFileExA(HINTERNET,LPINTERNET_BUFFERSA,DWORD,DWORD_PTR);
|
||
BOOL WINAPI InternetReadFileExW(HINTERNET,LPINTERNET_BUFFERSW,DWORD,DWORD_PTR);
|
||
--- include/winnt.h.orig 2006-11-19 08:08:37.000000000 +0900
|
||
+++ include/winnt.h 2007-01-16 07:06:57.796875000 +0900
|
||
@@ -67,9 +67,9 @@
|
||
#endif
|
||
#endif
|
||
|
||
-#ifndef C_ASSERT
|
||
-#define C_ASSERT(expr) typedef char __C_ASSERT__[(expr)?1:-1]
|
||
-#endif
|
||
+//#ifndef C_ASSERT
|
||
+//#define C_ASSERT(expr) typedef char __C_ASSERT__[(expr)?1:-1]
|
||
+//#endif
|
||
|
||
#ifndef VOID
|
||
#define VOID void
|
||
--- include/winuser.h.orig 2006-11-19 08:08:37.000000000 +0900
|
||
+++ include/winuser.h 2007-01-20 00:22:52.765625000 +0900
|
||
@@ -950,12 +950,14 @@
|
||
#define SM_SLOWMACHINE 73
|
||
#define SM_MIDEASTENABLED 74
|
||
#define SM_MOUSEWHEELPRESENT 75
|
||
+#if (WINVER >= 0x0500)
|
||
#define SM_XVIRTUALSCREEN 76
|
||
#define SM_YVIRTUALSCREEN 77
|
||
#define SM_CXVIRTUALSCREEN 78
|
||
#define SM_CYVIRTUALSCREEN 79
|
||
#define SM_CMONITORS 80
|
||
#define SM_SAMEDISPLAYFORMAT 81
|
||
+#endif
|
||
#define SM_IMMENABLED 82
|
||
#define SM_CXFOCUSBORDER 83
|
||
#define SM_CYFOCUSBORDER 84
|
||
@@ -2451,7 +2453,9 @@
|
||
typedef BOOL(CALLBACK *DRAWSTATEPROC)(HDC,LPARAM,WPARAM,int,int);
|
||
typedef BOOL(CALLBACK *WNDENUMPROC)(HWND,LPARAM);
|
||
typedef BOOL(CALLBACK *ENUMWINDOWSPROC)(HWND,LPARAM);
|
||
+#if (WINVER >= 0x0500)
|
||
typedef BOOL(CALLBACK* MONITORENUMPROC)(HMONITOR,HDC,LPRECT,LPARAM);
|
||
+#endif
|
||
typedef BOOL(CALLBACK *NAMEENUMPROCA)(LPSTR,LPARAM);
|
||
typedef BOOL(CALLBACK *NAMEENUMPROCW)(LPWSTR,LPARAM);
|
||
typedef NAMEENUMPROCA DESKTOPENUMPROCA;
|
||
@@ -3125,6 +3129,7 @@
|
||
UINT cbSize;
|
||
DWORD dwTime;
|
||
} LASTINPUTINFO,*PLASTINPUTINFO;
|
||
+#if (WINVER >= 0x0500)
|
||
typedef struct tagMONITORINFO {
|
||
DWORD cbSize;
|
||
RECT rcMonitor;
|
||
@@ -3157,6 +3162,7 @@
|
||
WCHAR szDevice[CCHDEVICENAME];
|
||
} MONITORINFOEXW,*LPMONITORINFOEXW;
|
||
#endif /* __cplusplus */
|
||
+#endif
|
||
typedef struct tagKBDLLHOOKSTRUCT {
|
||
DWORD vkCode;
|
||
DWORD scanCode;
|
||
@@ -3525,7 +3531,9 @@
|
||
WINUSERAPI BOOL WINAPI EnumDesktopsA(HWINSTA,DESKTOPENUMPROCA,LPARAM);
|
||
WINUSERAPI BOOL WINAPI EnumDesktopsW(HWINSTA,DESKTOPENUMPROCW,LPARAM);
|
||
WINUSERAPI BOOL WINAPI EnumDesktopWindows(HDESK,ENUMWINDOWSPROC,LPARAM);
|
||
+#if (WINVER >= 0x0500)
|
||
WINUSERAPI BOOL WINAPI EnumDisplayMonitors(HDC,LPCRECT,MONITORENUMPROC,LPARAM);
|
||
+#endif
|
||
#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);
|
||
WINUSERAPI BOOL WINAPI GetTitleBarInfo(HWND,PTITLEBARINFO);
|
||
WINUSERAPI BOOL WINAPI GetWindowInfo(HWND,PWINDOWINFO);
|
||
+#if (WINVER >= 0x0500)
|
||
WINUSERAPI BOOL WINAPI GetMonitorInfoA(HMONITOR,LPMONITORINFO);
|
||
WINUSERAPI BOOL WINAPI GetMonitorInfoW(HMONITOR,LPMONITORINFO);
|
||
+#endif
|
||
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 @@
|
||
typedef CBT_CREATEWNDW CBT_CREATEWND, *LPCBT_CREATEWND;
|
||
typedef MDICREATESTRUCTW MDICREATESTRUCT,*LPMDICREATESTRUCT;
|
||
typedef MULTIKEYHELPW MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP;
|
||
+#if (WINVER >= 0x0500)
|
||
typedef MONITORINFOEXW MONITORINFOEX, *LPMONITORINFOEX;
|
||
+#endif
|
||
#define AppendMenu AppendMenuW
|
||
#define BroadcastSystemMessage BroadcastSystemMessageW
|
||
#define BroadcastSystemMessageEx BroadcastSystemMessageExW
|
||
@@ -4232,7 +4244,9 @@
|
||
typedef CBT_CREATEWNDA CBT_CREATEWND, *LPCBT_CREATEWND;
|
||
typedef MDICREATESTRUCTA MDICREATESTRUCT,*LPMDICREATESTRUCT;
|
||
typedef MULTIKEYHELPA MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP;
|
||
+#if (WINVER >= 0x0500)
|
||
typedef MONITORINFOEXA MONITORINFOEX, *LPMONITORINFOEX;
|
||
+#endif
|
||
#define AppendMenu AppendMenuA
|
||
#define BroadcastSystemMessage BroadcastSystemMessageA
|
||
#define BroadcastSystemMessageEx BroadcastSystemMessageExA
|
||
--- include/winver.h.orig 2006-03-26 09:21:36.000000000 +0900
|
||
+++ include/winver.h 2006-03-26 09:21:42.000000000 +0900
|
||
@@ -101,10 +101,10 @@
|
||
DWORD WINAPI VerFindFileW(DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT,LPWSTR,PUINT);
|
||
DWORD WINAPI VerInstallFileA(DWORD,LPSTR,LPSTR,LPSTR,LPSTR,LPSTR,LPSTR,PUINT);
|
||
DWORD WINAPI VerInstallFileW(DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT);
|
||
-DWORD WINAPI GetFileVersionInfoSizeA(LPCSTR,PDWORD);
|
||
-DWORD WINAPI GetFileVersionInfoSizeW(LPCWSTR,PDWORD);
|
||
-BOOL WINAPI GetFileVersionInfoA(LPCSTR,DWORD,DWORD,PVOID);
|
||
-BOOL WINAPI GetFileVersionInfoW(LPCWSTR,DWORD,DWORD,PVOID);
|
||
+DWORD WINAPI GetFileVersionInfoSizeA(LPSTR,PDWORD);
|
||
+DWORD WINAPI GetFileVersionInfoSizeW(LPWSTR,PDWORD);
|
||
+BOOL WINAPI GetFileVersionInfoA(LPSTR,DWORD,DWORD,PVOID);
|
||
+BOOL WINAPI GetFileVersionInfoW(LPWSTR,DWORD,DWORD,PVOID);
|
||
DWORD WINAPI VerLanguageNameA(DWORD,LPSTR,DWORD);
|
||
DWORD WINAPI VerLanguageNameW(DWORD,LPWSTR,DWORD);
|
||
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 @@
|
||
unsigned short asData[1];
|
||
}FLAGGED_WORD_BLOB;
|
||
|
||
+typedef struct _COAUTHIDENTITY
|
||
+ {
|
||
+ /* [size_is] */ USHORT *User;
|
||
+ /* [range] */ ULONG UserLength;
|
||
+ /* [size_is] */ USHORT *Domain;
|
||
+ /* [range] */ ULONG DomainLength;
|
||
+ /* [size_is] */ USHORT *Password;
|
||
+ /* [range] */ ULONG PasswordLength;
|
||
+ ULONG Flags;
|
||
+ } COAUTHIDENTITY;
|
||
+
|
||
+typedef WORD CLIPFORMAT,*LPCLIPFORMAT;
|
||
+
|
||
#ifndef OLE2ANSI
|
||
typedef WCHAR OLECHAR;
|
||
typedef LPWSTR LPOLESTR;
|
||
@@ -100,6 +113,7 @@
|
||
}_STRUCT_NAME(s);
|
||
LONGLONG int64;
|
||
} CY;
|
||
+typedef union tagCY *LPCY;
|
||
typedef double DATE;
|
||
typedef struct tagBSTRBLOB {
|
||
ULONG cbSize;
|
||
@@ -163,7 +177,49 @@
|
||
ULONGLONG Lo64;
|
||
} DUMMYUNIONNAME2;
|
||
} DECIMAL;
|
||
+typedef DECIMAL *LPDECIMAL;
|
||
typedef void *HMETAFILEPICT;
|
||
+
|
||
+typedef enum tagTYSPEC {
|
||
+ TYSPEC_CLSID,
|
||
+ TYSPEC_FILEEXT,
|
||
+ TYSPEC_MIMETYPE,
|
||
+ TYSPEC_FILENAME,
|
||
+ TYSPEC_PROGID,
|
||
+ TYSPEC_PACKAGENAME,
|
||
+ TYSPEC_OBJECTID
|
||
+} TYSPEC;
|
||
+
|
||
+typedef union {
|
||
+ CLSID clsid;
|
||
+ LPOLESTR pFileExt;
|
||
+ LPOLESTR pMimeType;
|
||
+ LPOLESTR pProgId;
|
||
+ LPOLESTR pFileName;
|
||
+ struct {
|
||
+ LPOLESTR pPackageName;
|
||
+ GUID PolicyId;
|
||
+ } ByName;
|
||
+ struct {
|
||
+ GUID ObjectId;
|
||
+ GUID PolicyId;
|
||
+ } ByObjectId;
|
||
+} uCLSSPEC;
|
||
+
|
||
+typedef struct tagCSPLATFORM {
|
||
+ DWORD dwContext;
|
||
+ DWORD dwVersionHi;
|
||
+ DWORD dwVersionLo;
|
||
+ DWORD dwProcessorArch;
|
||
+} CSPLATFORM;
|
||
+
|
||
+typedef struct tagQUERYCONTEXT {
|
||
+ DWORD dwContext;
|
||
+ CSPLATFORM Platform;
|
||
+ LCID Locale;
|
||
+ DWORD dwVersionHi;
|
||
+ DWORD dwVersionLo;
|
||
+} QUERYCONTEXT;
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|
||
--- include/sys/stat.h.orig 2006-06-25 19:45:42.000000000 +0900
|
||
+++ include/sys/stat.h 2006-12-30 18:26:27.578125000 +0900
|
||
@@ -11,6 +11,9 @@
|
||
|
||
#ifndef _STAT_H_
|
||
#define _STAT_H_
|
||
+#if __GNUC__ >=3
|
||
+#pragma GCC system_header
|
||
+#endif
|
||
|
||
/* 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
|
||
@@ -11,6 +11,9 @@
|
||
//--------------------------------------------------------------------
|
||
#ifndef _ADOCTINT_H_
|
||
#define _ADOCTINT_H_
|
||
+#if __GNUC__ >=3
|
||
+#pragma GCC system_header
|
||
+#endif
|
||
|
||
#ifndef _INC_TCHAR
|
||
#include <tchar.h>
|
||
@@ -3310,11 +3313,11 @@
|
||
#endif /* __Procedure_INTERFACE_DEFINED__ */
|
||
EXTERN_C const CLSID CLSID_Catalog;
|
||
#ifdef __cplusplus
|
||
-Catalog;
|
||
+//Catalog;
|
||
#endif
|
||
EXTERN_C const CLSID CLSID_Table;
|
||
#ifdef __cplusplus
|
||
-Table;
|
||
+//Table;
|
||
#endif
|
||
#ifndef __Property_INTERFACE_DEFINED__
|
||
#define __Property_INTERFACE_DEFINED__
|
||
@@ -3503,23 +3506,23 @@
|
||
#endif /* __Property_INTERFACE_DEFINED__ */
|
||
EXTERN_C const CLSID CLSID_Group;
|
||
#ifdef __cplusplus
|
||
-Group;
|
||
+//Group;
|
||
#endif
|
||
EXTERN_C const CLSID CLSID_User;
|
||
#ifdef __cplusplus
|
||
-User;
|
||
+//User;
|
||
#endif
|
||
EXTERN_C const CLSID CLSID_Column;
|
||
#ifdef __cplusplus
|
||
-Column;
|
||
+//Column;
|
||
#endif
|
||
EXTERN_C const CLSID CLSID_Index;
|
||
#ifdef __cplusplus
|
||
-Index;
|
||
+//Index;
|
||
#endif
|
||
EXTERN_C const CLSID CLSID_Key;
|
||
#ifdef __cplusplus
|
||
-Key;
|
||
+//Key;
|
||
#endif
|
||
#ifndef __Tables_INTERFACE_DEFINED__
|
||
#define __Tables_INTERFACE_DEFINED__
|
||
--- 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 @@
|
||
|
||
#ifndef _ADODEF_H_
|
||
#define _ADODEF_H_
|
||
+#if __GNUC__ >=3
|
||
+#pragma GCC system_header
|
||
+#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_
|
||
--- 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 @@
|
||
|
||
#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__
|
||
--- 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 @@
|
||
//--------------------------------------------------------------------
|
||
#ifndef _ADOINT_H_
|
||
#define _ADOINT_H_
|
||
+#if __GNUC__ >=3
|
||
+#pragma GCC system_header
|
||
+#endif
|
||
|
||
#ifndef _INC_TCHAR
|
||
#include <tchar.h>
|
||
@@ -4273,7 +4276,7 @@
|
||
#endif /* __ADOConnectionConstruction_INTERFACE_DEFINED__ */
|
||
EXTERN_C const CLSID CLSID_Connection;
|
||
#ifdef __cplusplus
|
||
-Connection;
|
||
+//Connection;
|
||
#endif
|
||
#ifndef ___Record_INTERFACE_DEFINED__
|
||
#define ___Record_INTERFACE_DEFINED__
|
||
@@ -4740,7 +4743,7 @@
|
||
#endif /* ___Record_INTERFACE_DEFINED__ */
|
||
EXTERN_C const CLSID CLSID_Record;
|
||
#ifdef __cplusplus
|
||
-Record;
|
||
+//Record;
|
||
#endif
|
||
#ifndef ___Stream_INTERFACE_DEFINED__
|
||
#define ___Stream_INTERFACE_DEFINED__
|
||
@@ -5281,7 +5284,7 @@
|
||
#endif /* ___Stream_INTERFACE_DEFINED__ */
|
||
EXTERN_C const CLSID CLSID_Stream;
|
||
#ifdef __cplusplus
|
||
-Stream;
|
||
+//Stream;
|
||
#endif
|
||
#ifndef __ADORecordConstruction_INTERFACE_DEFINED__
|
||
#define __ADORecordConstruction_INTERFACE_DEFINED__
|
||
@@ -5616,11 +5619,11 @@
|
||
#endif /* __ADOCommandConstruction_INTERFACE_DEFINED__ */
|
||
EXTERN_C const CLSID CLSID_Command;
|
||
#ifdef __cplusplus
|
||
-Command;
|
||
+//Command;
|
||
#endif
|
||
EXTERN_C const CLSID CLSID_Recordset;
|
||
#ifdef __cplusplus
|
||
-Recordset;
|
||
+//Recordset;
|
||
#endif
|
||
#ifndef __Recordset15_INTERFACE_DEFINED__
|
||
#define __Recordset15_INTERFACE_DEFINED__
|
||
@@ -10662,7 +10665,7 @@
|
||
#endif /* ___Parameter_INTERFACE_DEFINED__ */
|
||
EXTERN_C const CLSID CLSID_Parameter;
|
||
#ifdef __cplusplus
|
||
-Parameter;
|
||
+//Parameter;
|
||
#endif
|
||
#ifndef __Parameters_INTERFACE_DEFINED__
|
||
#define __Parameters_INTERFACE_DEFINED__
|
||
@@ -11124,4 +11127,4 @@
|
||
#define ADOStream _ADOStream
|
||
|
||
|
||
-#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 @@
|
||
|
||
// Shell reserved (0U-580U) - (0U-589U)
|
||
|
||
+#ifndef CDN_FIRST
|
||
#define CDN_FIRST (0U-601U) // common dialog (new)
|
||
#define CDN_LAST (0U-699U)
|
||
+#endif
|
||
|
||
#define TBN_FIRST (0U-700U) // toolbar
|
||
#define TBN_LAST (0U-720U)
|
||
@@ -7005,8 +7007,10 @@
|
||
#if (_WIN32_WINNT >= 0x501)
|
||
|
||
// custom combobox control messages
|
||
+#ifndef CB_SETMINVISIBLE
|
||
#define CB_SETMINVISIBLE (CBM_FIRST + 1)
|
||
#define CB_GETMINVISIBLE (CBM_FIRST + 2)
|
||
+#endif
|
||
|
||
#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)
|
||
|
||
|
||
+#if 0
|
||
#if !defined(ISOLATION_AWARE_USE_STATIC_LIBRARY)
|
||
#define ISOLATION_AWARE_USE_STATIC_LIBRARY 0
|
||
#endif
|
||
@@ -10499,6 +10504,7 @@
|
||
#define Str_SetPtrW IsolationAwareStr_SetPtrW
|
||
#define UninitializeFlatSB IsolationAwareUninitializeFlatSB
|
||
#define _TrackMouseEvent IsolationAware_TrackMouseEvent
|
||
+#endif
|
||
|
||
#endif /* ISOLATION_AWARE_ENABLED */
|
||
#endif /* RC */
|
||
--- 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 @@
|
||
+#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 @@
|
||
+#if __GNUC__ >=3
|
||
+#pragma GCC system_header
|
||
+#endif
|
||
|
||
|
||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||
--- include/gdiplusbitmap.h.orig 2005-04-14 17:54:44.000000000 +0900
|
||
+++ include/gdiplusbitmap.h 2007-01-02 11:17:13.125000000 +0900
|
||
@@ -1,3 +1,6 @@
|
||
+#if __GNUC__ >=3
|
||
+#pragma GCC system_header
|
||
+#endif
|
||
/**************************************************************************\
|
||
*
|
||
* Copyright (c) 1998-2001, Microsoft Corp. All Rights Reserved.
|
||
--- include/gdiplusbrush.h.orig 2005-04-14 17:54:44.000000000 +0900
|
||
+++ include/gdiplusbrush.h 2007-01-02 10:33:22.734375000 +0900
|
||
@@ -1,3 +1,6 @@
|
||
+#if __GNUC__ >=3
|
||
+#pragma GCC system_header
|
||
+#endif
|
||
/**************************************************************************\
|
||
*
|
||
* 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;
|
||
|
||
#define GDIP_EMFPLUS_RECORD_BASE 0x00004000
|
||
#define GDIP_WMF_RECORD_BASE 0x00010000
|
||
-#define GDIP_WMF_RECORD_TO_EMFPLUS(n) ((EmfPlusRecordType)((n) | GDIP_WMF_RECORD_BASE))
|
||
+#define GDIP_WMF_RECORD_TO_EMFPLUS(n) ((n) | GDIP_WMF_RECORD_BASE)
|
||
#define GDIP_EMFPLUS_RECORD_TO_WMF(n) ((n) & (~GDIP_WMF_RECORD_BASE))
|
||
#define GDIP_IS_WMF_RECORDTYPE(n) (((n) & GDIP_WMF_RECORD_BASE) != 0)
|
||
|
||
--- include/gdiplusfont.h.orig 2005-04-14 17:54:44.000000000 +0900
|
||
+++ include/gdiplusfont.h 2007-01-02 10:35:57.671875000 +0900
|
||
@@ -1,3 +1,6 @@
|
||
+#if __GNUC__ >=3
|
||
+#pragma GCC system_header
|
||
+#endif
|
||
/**************************************************************************\
|
||
*
|
||
* 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 @@
|
||
|
||
class CachedBitmap : public GdiplusBase
|
||
{
|
||
- friend Graphics;
|
||
+ friend class Graphics;
|
||
|
||
public:
|
||
CachedBitmap(IN Bitmap *bitmap,
|
||
--- 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 @@
|
||
|
||
#ifndef _GDIPLUSIMAGEATTRIBUTES_H
|
||
#define _GDIPLUSIMAGEATTRIBUTES_H
|
||
+#if __GNUC__ >=3
|
||
+#pragma GCC system_header
|
||
+#endif
|
||
|
||
class GpImageAttributes;
|
||
|
||
--- include/gdiplusimaging.h.orig 2003-03-26 16:34:34.000000000 +0900
|
||
+++ include/gdiplusimaging.h 2004-12-30 21:15:38.000000000 +0900
|
||
@@ -153,7 +153,7 @@
|
||
UINT Width;
|
||
UINT Height;
|
||
INT Stride;
|
||
- PixelFormat PixelFormat;
|
||
+ PixelFormat aPixelFormat;
|
||
VOID* Scan0;
|
||
UINT_PTR Reserved;
|
||
};
|
||
--- include/gdiplusmatrix.h.orig 2005-04-14 17:54:44.000000000 +0900
|
||
+++ include/gdiplusmatrix.h 2007-01-02 10:32:35.203125000 +0900
|
||
@@ -1,3 +1,6 @@
|
||
+#if __GNUC__ >=3
|
||
+#pragma GCC system_header
|
||
+#endif
|
||
/**************************************************************************\
|
||
*
|
||
* Copyright (c) 1998-2001, Microsoft Corp. All Rights Reserved.
|
||
--- include/gdipluspath.h.orig 2005-04-14 17:54:44.000000000 +0900
|
||
+++ include/gdipluspath.h 2007-01-02 10:34:33.125000000 +0900
|
||
@@ -1,3 +1,6 @@
|
||
+#if __GNUC__ >=3
|
||
+#pragma GCC system_header
|
||
+#endif
|
||
/**************************************************************************\
|
||
*
|
||
* Copyright (c) 1998-2001, Microsoft Corp. All Rights Reserved.
|
||
--- include/gdipluspen.h.orig 2005-04-14 17:54:44.000000000 +0900
|
||
+++ include/gdipluspen.h 2007-01-02 10:34:12.593750000 +0900
|
||
@@ -1,3 +1,6 @@
|
||
+#if __GNUC__ >=3
|
||
+#pragma GCC system_header
|
||
+#endif
|
||
/**************************************************************************\
|
||
*
|
||
* Copyright (c) 1998-2001, Microsoft Corp. All Rights Reserved.
|
||
--- include/gdiplusregion.h.orig 2005-04-14 17:54:44.000000000 +0900
|
||
+++ include/gdiplusregion.h 2007-01-02 10:35:23.453125000 +0900
|
||
@@ -1,3 +1,6 @@
|
||
+#if __GNUC__ >=3
|
||
+#pragma GCC system_header
|
||
+#endif
|
||
/**************************************************************************\
|
||
*
|
||
* 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 @@
|
||
IMAGEAPI
|
||
TouchFileTimes (
|
||
HANDLE FileHandle,
|
||
- PSYSTEMTIME pSystemTime
|
||
+ LPSYSTEMTIME pSystemTime
|
||
);
|
||
|
||
BOOL
|
||
@@ -2592,7 +2592,7 @@
|
||
// ThreadId must be 4 bytes on all architectures.
|
||
//
|
||
|
||
-C_ASSERT (sizeof ( ((PPROCESS_INFORMATION)0)->dwThreadId ) == 4);
|
||
+//C_ASSERT (sizeof ( ((PPROCESS_INFORMATION)0)->dwThreadId ) == 4);
|
||
|
||
typedef struct _MINIDUMP_THREAD {
|
||
ULONG32 ThreadId;
|
||
--- 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 @@
|
||
typedef const void FAR * LPCVOID;
|
||
|
||
#ifndef _MAC
|
||
-#ifndef LPOLESTR
|
||
+#ifndef OLESTR
|
||
#if !defined (_WIN32)
|
||
|
||
#define LPOLESTR LPSTR
|
||
@@ -88,9 +88,11 @@
|
||
#define OLESTR(str) L##str
|
||
|
||
#endif /* !_WIN32 */
|
||
-#endif /* LPOLESTR */
|
||
+#endif /* OLESTR */
|
||
#endif /* _MAC */
|
||
|
||
+#ifndef NORM_IGNORECASE
|
||
+
|
||
#define NORM_IGNORECASE 0x00000001 /* ignore case */
|
||
#define NORM_IGNORENONSPACE 0x00000002 /* ignore diacritics */
|
||
#define NORM_IGNORESYMBOLS 0x00000004 /* ignore symbols */
|
||
@@ -103,6 +105,8 @@
|
||
#define NORM_IGNOREKANATYPE 0x00000040 /* ignore kanatype */
|
||
#endif
|
||
|
||
+#endif /* NORM_IGNORECASE */
|
||
+
|
||
#if defined(WIN16)
|
||
|
||
#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 @@
|
||
#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 @@
|
||
+#if __GNUC__ >=3
|
||
+#pragma GCC system_header
|
||
+#endif
|
||
|
||
|
||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||
--- include/multimon.h.orig 2005-04-14 17:54:52.000000000 +0900
|
||
+++ include/multimon.h 2006-12-31 18:00:37.203125000 +0900
|
||
@@ -175,7 +175,7 @@
|
||
|
||
BOOL IsPlatformNT()
|
||
{
|
||
- OSVERSIONINFOA osvi = {0};
|
||
+ OSVERSIONINFOA osvi;
|
||
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
|
||
@@ -1,3 +1,6 @@
|
||
+#if __GNUC__ >=3
|
||
+#pragma GCC system_header
|
||
+#endif
|
||
|
||
|
||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||
@@ -5767,11 +5770,13 @@
|
||
HITRESULT_HIT = 3
|
||
} HITRESULT;
|
||
|
||
+#if 0
|
||
typedef /* [v1_enum] */
|
||
enum tagDVASPECT2
|
||
{ DVASPECT_OPAQUE = 16,
|
||
DVASPECT_TRANSPARENT = 32
|
||
} DVASPECT2;
|
||
+#endif
|
||
|
||
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);
|
||
|
||
+#define __in
|
||
+#define __out
|
||
+
|
||
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 @@
|
||
/* ICreateTypeLib */
|
||
/*---------------------------------------------------------------------*/
|
||
|
||
+typedef interface ICreateTypeLib ICreateTypeLib;
|
||
+typedef interface ICreateTypeLib2 ICreateTypeLib2;
|
||
+typedef interface ICreateTypeInfo ICreateTypeInfo;
|
||
typedef ICreateTypeLib * LPCREATETYPELIB;
|
||
|
||
typedef ICreateTypeInfo * LPCREATETYPEINFO;
|
||
@@ -1068,7 +1077,7 @@
|
||
|
||
// Declare variant access functions.
|
||
|
||
-#if __STDC__ || defined(NONAMELESSUNION)
|
||
+#ifdef NONAMELESSUNION
|
||
#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)
|
||
--- 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 @@
|
||
+#if __GNUC__ >=3
|
||
+#pragma GCC system_header
|
||
+#endif
|
||
|
||
|
||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||
@@ -788,7 +791,7 @@
|
||
|
||
//@@@+ V2.0
|
||
#if( OLEDBVER >= 0x0200 )
|
||
-#if !defined(_WINBASE_) && !defined(_FILETIME_)
|
||
+#if !defined(_WINBASE_H) && !defined(_FILETIME_)
|
||
#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
|
||
@@ -1,3 +1,6 @@
|
||
+#if __GNUC__ >=3
|
||
+#pragma GCC system_header
|
||
+#endif
|
||
|
||
|
||
/* 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;
|
||
--- 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 @@
|
||
+#if __GNUC__ >=3
|
||
+#pragma GCC system_header
|
||
+#endif
|
||
|
||
|
||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||
@@ -10205,10 +10208,10 @@
|
||
#define DEX_IDS_GRAPH_ERROR 1427
|
||
#define DEX_IDS_GRID_ERROR 1428
|
||
#define DEX_IDS_INTERFACE_ERROR 1429
|
||
-EXTERN_GUID(CLSID_VideoEffects1Category, 0xcc7bfb42, 0xf175, 0x11d1, 0xa3, 0x92, 0x0, 0xe0, 0x29, 0x1f, 0x39, 0x59);
|
||
-EXTERN_GUID(CLSID_VideoEffects2Category, 0xcc7bfb43, 0xf175, 0x11d1, 0xa3, 0x92, 0x0, 0xe0, 0x29, 0x1f, 0x39, 0x59);
|
||
-EXTERN_GUID(CLSID_AudioEffects1Category, 0xcc7bfb44, 0xf175, 0x11d1, 0xa3, 0x92, 0x0, 0xe0, 0x29, 0x1f, 0x39, 0x59);
|
||
-EXTERN_GUID(CLSID_AudioEffects2Category, 0xcc7bfb45, 0xf175, 0x11d1, 0xa3, 0x92, 0x0, 0xe0, 0x29, 0x1f, 0x39, 0x59);
|
||
+DEFINE_GUID(CLSID_VideoEffects1Category, 0xcc7bfb42, 0xf175, 0x11d1, 0xa3, 0x92, 0x0, 0xe0, 0x29, 0x1f, 0x39, 0x59);
|
||
+DEFINE_GUID(CLSID_VideoEffects2Category, 0xcc7bfb43, 0xf175, 0x11d1, 0xa3, 0x92, 0x0, 0xe0, 0x29, 0x1f, 0x39, 0x59);
|
||
+DEFINE_GUID(CLSID_AudioEffects1Category, 0xcc7bfb44, 0xf175, 0x11d1, 0xa3, 0x92, 0x0, 0xe0, 0x29, 0x1f, 0x39, 0x59);
|
||
+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 @@
|
||
|
||
// no POF_ flags currently defined
|
||
|
||
-typedef UINT PRINTEROP_FLAGS;
|
||
+//typedef UINT PRINTEROP_FLAGS;
|
||
|
||
#endif // FO_MOVE
|
||
|
||
--- include/shobjidl.h 2006-12-30 18:12:26.718750000 +0900
|
||
+++ include/shobjidl.h 2006-12-30 18:23:17.281250000 +0900
|
||
@@ -1,3 +1,6 @@
|
||
+#if __GNUC__ >=3
|
||
+#pragma GCC system_header
|
||
+#endif
|
||
|
||
|
||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||
--- 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 @@
|
||
+#if __GNUC__ >=3
|
||
+#pragma GCC system_header
|
||
+#endif
|
||
|
||
|
||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||
@@ -122,7 +125,7 @@
|
||
} ITEMIDLIST;
|
||
|
||
#include <poppack.h>
|
||
-typedef /* [unique] */ BYTE_BLOB *wirePIDL;
|
||
+//typedef /* [unique] */ 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 <wchar.h>
|
||
+
|
||
// @@BEGIN_DDKSPLIT
|
||
|
||
// -------------------------------------------------------------------------------
|
||
@@ -445,7 +447,7 @@
|
||
|
||
// @@END_DDKSPLIT
|
||
|
||
- #define __null
|
||
+// #define __null
|
||
#define __notnull
|
||
#define __maybenull
|
||
#define __readonly
|
||
--- include/strmif.h.orig 2005-04-14 17:54:58.000000000 +0900
|
||
+++ include/strmif.h 2007-01-02 22:04:39.312500000 +0900
|
||
@@ -1,3 +1,6 @@
|
||
+#if __GNUC__ >=3
|
||
+#pragma GCC system_header
|
||
+#endif
|
||
|
||
|
||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||
@@ -20566,7 +20569,7 @@
|
||
#define _IAMFilterGraphCallback_
|
||
// Note: Because this interface was not defined as a proper interface it is
|
||
// supported under C++ only. Methods aren't stdcall.
|
||
-EXTERN_GUID(IID_IAMFilterGraphCallback,0x56a868fd,0x0ad4,0x11ce,0xb0,0xa3,0x0,0x20,0xaf,0x0b,0xa7,0x70);
|
||
+DEFINE_GUID(IID_IAMFilterGraphCallback,0x56a868fd,0x0ad4,0x11ce,0xb0,0xa3,0x0,0x20,0xaf,0x0b,0xa7,0x70);
|
||
interface IAMFilterGraphCallback : public IUnknown
|
||
{
|
||
// S_OK means rendering complete, S_FALSE means retry now.
|
||
@@ -28962,7 +28965,7 @@
|
||
typedef struct tagVMRGUID
|
||
{
|
||
GUID *pGUID;
|
||
- GUID GUID;
|
||
+ GUID aGUID;
|
||
} 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_
|
||
#pragma once
|
||
+#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
|
||
@@ -1,3 +1,6 @@
|
||
+#if __GNUC__ >=3
|
||
+#pragma GCC system_header
|
||
+#endif
|
||
|
||
|
||
/* 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
|
||
);
|
||
|
||
--- 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;
|
||
#endif
|
||
|
||
-
|
||
+#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)
|
||
+WINGDIAPI int WINAPI FillRect(HDC,LPCRECT,HBRUSH);
|
||
|
||
WINGDIAPI int WINAPI AddFontResourceA(__in LPCSTR);
|
||
WINGDIAPI int WINAPI AddFontResourceW(__in LPCWSTR);
|
||
@@ -4140,6 +4159,26 @@
|
||
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 @@
|
||
* conditions for redistribution.
|
||
*/
|
||
|
||
-#ifndef _WINSOCK2API_
|
||
-#define _WINSOCK2API_
|
||
-#define _WINSOCKAPI_ /* Prevent inclusion of winsock.h in windows.h */
|
||
+#ifndef _WINSOCK2_H
|
||
+#define _WINSOCK2_H
|
||
+#define _WINSOCK_H /* to prevent later inclusion of winsock.h */
|
||
|
||
/*
|
||
* Ensure structures are packed consistently.
|
||
@@ -1293,10 +1293,8 @@
|
||
* registration (RNR) API
|
||
*/
|
||
|
||
-#ifndef _tagBLOB_DEFINED
|
||
-#define _tagBLOB_DEFINED
|
||
-#define _BLOB_DEFINED
|
||
-#define _LPBLOB_DEFINED
|
||
+#ifndef __BLOB_T_DEFINED
|
||
+#define __BLOB_T_DEFINED
|
||
typedef struct _BLOB {
|
||
ULONG cbSize ;
|
||
#ifdef MIDL_PASS
|
||
@@ -3858,4 +3856,4 @@
|
||
#include <wsipv6ok.h>
|
||
#endif // IPV6STRICT
|
||
|
||
-#endif /* _WINSOCK2API_ */
|
||
+#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;
|
||
|
||
+#define C_ASSERT(x)
|
||
+
|
||
C_ASSERT(sizeof(IN_PKTINFO) == 8);
|
||
|
||
// structure for IPV6_PKTINFO option
|
||
--- 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 @@
|
||
|
||
#ifndef _WSPIAPI_H_
|
||
#define _WSPIAPI_H_
|
||
+#if __GNUC__ >=3
|
||
+#pragma GCC system_header
|
||
+#endif
|
||
|
||
#include <stdio.h> // sprintf()
|
||
#include <stdlib.h> // calloc(), strtoul()
|
||
@@ -76,6 +79,11 @@
|
||
|
||
#ifdef __cplusplus
|
||
extern "C" {
|
||
+#define _inline inline
|
||
+#define __inline inline
|
||
+#else
|
||
+#define _inline static
|
||
+#define __inline static
|
||
#endif
|
||
|
||
////////////////////////////////////////////////////////////
|
||
@@ -1043,6 +1051,8 @@
|
||
(*pfFreeAddrInfo)(ai);
|
||
}
|
||
|
||
+#undef _inline
|
||
+#undef __inline
|
||
#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__
|
||
+#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;
|
||
+#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__
|
||
+#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);
|
||
}
|
||
+#endif
|
||
|
||
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);
|
||
}
|
||
+#endif
|
||
};
|
||
|
||
// 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;
|
||
+
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
// 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;
|
||
}
|
||
|
||
-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;
|
||
+#else
|
||
+extern DWORD _Atlosplatform;
|
||
+#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;
|
||
|
||
__try
|
||
@@ -173,6 +180,7 @@
|
||
_Atlresetstkoflw();
|
||
}
|
||
return bStackAvailable;
|
||
+#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 @@
|
||
}
|
||
};
|
||
|
||
-_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
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
// 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);
|
||
}
|
||
+#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 @@
|
||
}
|
||
};
|
||
|
||
-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;
|
||
|
||
@@ -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;
|
||
}
|
||
|
||
-__declspec(selectany) LPCTSTR CRegParser::rgszNeverDelete[] = //Component Catagories
|
||
+#ifdef _INIT_ATL_COMMON_VARS
|
||
+LPCTSTR CRegParser::rgszNeverDelete[] = //Component Catagories
|
||
{
|
||
_T("CLSID"), _T("TYPELIB")
|
||
};
|
||
|
||
-__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;
|
||
+#endif
|
||
|
||
inline BOOL CRegParser::VTFromRegType(LPCTSTR szValueType, VARTYPE& vt)
|
||
{
|
||
--- 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 @@
|
||
+#if __GNUC__ >=3
|
||
+#pragma GCC system_header
|
||
+#endif
|
||
|
||
#pragma warning( disable: 4049 ) /* more than 64k source lines */
|
||
|