diff --git a/Mac/Modules/ae/AEmodule.c b/Mac/Modules/ae/AEmodule.c index 9fd51fee4fb..236bbd49080 100644 --- a/Mac/Modules/ae/AEmodule.c +++ b/Mac/Modules/ae/AEmodule.c @@ -1204,9 +1204,14 @@ static PyMethodDef AE_methods[] = { }; +#if UNIVERSAL_INTERFACES_VERSION >= 0x0340 +typedef long refcontype; +#else +typedef unsigned long refcontype; +#endif static pascal OSErr -GenericEventHandler(const AppleEvent *request, AppleEvent *reply, unsigned long refcon) +GenericEventHandler(const AppleEvent *request, AppleEvent *reply, refcontype refcon) { PyObject *handler = (PyObject *)refcon; AEDescObject *requestObject, *replyObject; @@ -1244,7 +1249,7 @@ void initAE(void) upp_AEIdleProc = NewAEIdleUPP(AEIdleProc); - upp_GenericEventHandler = NewAEEventHandlerUPP(GenericEventHandler); + upp_GenericEventHandler = NewAEEventHandlerUPP(&GenericEventHandler); PyMac_INIT_TOOLBOX_OBJECT_NEW(AEDesc *, AEDesc_New); PyMac_INIT_TOOLBOX_OBJECT_CONVERT(AEDesc, AEDesc_Convert); diff --git a/Mac/Modules/ae/aesupport.py b/Mac/Modules/ae/aesupport.py index 321a2107091..eacbee7aee2 100644 --- a/Mac/Modules/ae/aesupport.py +++ b/Mac/Modules/ae/aesupport.py @@ -116,8 +116,14 @@ AEIdleUPP upp_AEIdleProc; """ finalstuff = finalstuff + """ +#if UNIVERSAL_INTERFACES_VERSION >= 0x0340 +typedef long refcontype; +#else +typedef unsigned long refcontype; +#endif + static pascal OSErr -GenericEventHandler(const AppleEvent *request, AppleEvent *reply, unsigned long refcon) +GenericEventHandler(const AppleEvent *request, AppleEvent *reply, refcontype refcon) { PyObject *handler = (PyObject *)refcon; AEDescObject *requestObject, *replyObject; @@ -149,7 +155,11 @@ GenericEventHandler(const AppleEvent *request, AppleEvent *reply, unsigned long initstuff = initstuff + """ upp_AEIdleProc = NewAEIdleUPP(AEIdleProc); +#if UNIVERSAL_INTERFACES_VERSION >= 0x0340 + upp_GenericEventHandler = NewAEEventHandlerUPP(&GenericEventHandler); +#else upp_GenericEventHandler = NewAEEventHandlerUPP(GenericEventHandler); +#endif PyMac_INIT_TOOLBOX_OBJECT_NEW(AEDesc *, AEDesc_New); PyMac_INIT_TOOLBOX_OBJECT_CONVERT(AEDesc, AEDesc_Convert); """