diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2012-04-26 13:48:08 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2012-04-26 13:48:08 (GMT) |
commit | 8dca7f801721aeb881ce80cb84c05269f80a2a1a (patch) | |
tree | 38f9ff1451358432a21c30beaa7dd8eb101e9f9d /generic | |
parent | 8cc7bce73e9997bd6f37cf9e35c4840be1912c8c (diff) | |
parent | e9140811cd74d9b4da77039deb20dfca25fd798c (diff) | |
download | tk-8dca7f801721aeb881ce80cb84c05269f80a2a1a.zip tk-8dca7f801721aeb881ce80cb84c05269f80a2a1a.tar.gz tk-8dca7f801721aeb881ce80cb84c05269f80a2a1a.tar.bz2 |
Ensure that Tk_GetHINSTANCE is defined on OSX.
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tkStubInit.c | 45 |
1 files changed, 25 insertions, 20 deletions
diff --git a/generic/tkStubInit.c b/generic/tkStubInit.c index 00052f2..fe04206 100644 --- a/generic/tkStubInit.c +++ b/generic/tkStubInit.c @@ -55,16 +55,19 @@ static const TkIntStubs tkIntStubs; #undef TkPutImage #ifndef __WIN32__ -/* Make sure that extensions which call XParseColor through - * the stub table, call TkParseColor in stead. See bug #3486474 */ -# define XParseColor TkParseColor +/* + * Make sure that extensions which call XParseColor through the stub + * table, call TkParseColor instead. [Bug 3486474] + */ +# define XParseColor TkParseColor # ifndef __CYGWIN__ -# define Tk_AttachHWND 0 -# define Tk_GetHWND 0 -# define Tk_HWNDToWindow 0 -# define Tk_PointerEvent 0 -# define Tk_TranslateWinEvent 0 +# define Tk_AttachHWND 0 +# define Tk_GetHWND 0 +# define Tk_HWNDToWindow 0 +# define Tk_PointerEvent 0 +# define Tk_TranslateWinEvent 0 +# define Tk_GetHINSTANCE 0 # endif # if !defined(MAC_TCL) && !defined(MAC_OSX_TCL) # define TkClipBox (void (*) (TkRegion, XRectangle *)) XClipBox @@ -76,28 +79,30 @@ static const TkIntStubs tkIntStubs; # define TkUnionRectWithRegion (void (*) (XRectangle *, TkRegion, TkRegion)) XUnionRectWithRegion # define TkSubtractRegion (void (*) (TkRegion, TkRegion, TkRegion)) XSubtractRegion -#ifdef __CYGWIN__ -/* Trick, so we don't have to include <windows.h> here, which - * - b.t.w. - lacks this function anyway */ -#define GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS 0x00000004 +# ifdef __CYGWIN__ +# define Tk_GetHINSTANCE TkPlatGetHINSTANCE +# define GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS 0x00000004 + +/* + * Trick, so we don't have to include <windows.h> here, which in any + * case lacks this function anyway. + */ + int __stdcall GetModuleHandleExW(unsigned int, const char *, void *); -#define Tk_GetHINSTANCE TkPlatGetHINSTANCE static void *Tk_GetHINSTANCE() { void *hInstance = NULL; + GetModuleHandleExW(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS, - (const char *)&tkIntStubs, &hInstance); + (const char *) &tkIntStubs, &hInstance); return hInstance; } -#else /* __CYGWIN__ */ -# define Tk_GetHINSTANCE 0 -# define TkPutImage 0 -#endif /* __CYGWIN__ */ - +# else /* !__CYGWIN__ */ +# define TkPutImage 0 +# endif /* __CYGWIN__ */ # endif /* !MAC_TCL && !MACC_OSX_TCL */ - #endif /* !__WIN32__ */ /* !BEGIN!: Do not edit below this line. */ |