Adapted to Universal Headers 3.4: new refcontype and use UPP names in stead of Proc names for callback creation.

This commit is contained in:
Jack Jansen 2001-06-20 20:53:38 +00:00
parent 5daef31355
commit ff75c214ef
2 changed files with 18 additions and 3 deletions

View File

@ -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);

View File

@ -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);
"""