summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordkf <dkf@noemail.net>2012-04-26 13:47:42 (GMT)
committerdkf <dkf@noemail.net>2012-04-26 13:47:42 (GMT)
commit0db0563c34b2791ca73a3ac8fb0a12b964d95772 (patch)
treeadbc96bfbf2c90b44b2070256b50a7f36e4a8dda
parent625e4f14bfaa31571a147113d1f17000a7c9fba6 (diff)
parent9f37a1685762af5765c85abf6da26b8282991cd7 (diff)
downloadtk-0db0563c34b2791ca73a3ac8fb0a12b964d95772.zip
tk-0db0563c34b2791ca73a3ac8fb0a12b964d95772.tar.gz
tk-0db0563c34b2791ca73a3ac8fb0a12b964d95772.tar.bz2
Ensure that Tk_GetHINSTANCE is defined on OSX.
FossilOrigin-Name: 57edef7602f6feaf84cd1c9f6c938f451ee5f929
-rw-r--r--ChangeLog5
-rw-r--r--generic/tkStubInit.c45
2 files changed, 30 insertions, 20 deletions
diff --git a/ChangeLog b/ChangeLog
index 65d5583..20a06ca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-04-26 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tkStubInit.c (Tk_GetHINSTANCE): Ensure that this is defined
+ for OSX.
+
2012-04-26 Jan Nijtmans <nijtmans@users.sf.net>
* generic/tk.decls: [Bug 3508771]: Implement TkClipBox, Tk*Region and
diff --git a/generic/tkStubInit.c b/generic/tkStubInit.c
index 6a131ea..6af8946 100644
--- a/generic/tkStubInit.c
+++ b/generic/tkStubInit.c
@@ -51,16 +51,19 @@ MODULE_SCOPE TkStubs tkStubs;
#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 (*) _ANSI_ARGS_((TkRegion, XRectangle *))) XClipBox
@@ -72,28 +75,30 @@ MODULE_SCOPE TkStubs tkStubs;
# define TkUnionRectWithRegion (void (*) _ANSI_ARGS_((XRectangle *, TkRegion, TkRegion))) XUnionRectWithRegion
# define TkSubtractRegion (void (*) _ANSI_ARGS_((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__ */
/*