Fixed callback handling on 68K machines.

This commit is contained in:
Jack Jansen 1996-05-20 11:30:45 +00:00
parent 12fe9fb18e
commit 25241d9978
2 changed files with 22 additions and 16 deletions

View File

@ -119,7 +119,10 @@ LongPt_New(LongPt *p)
/* Stuff for the callbacks: */
static PyObject *callbackdict;
UniversalProcPtr upp_new_handler, upp_dispose_handler, upp_draw_handler, upp_click_handler;
WENewObjectUPP upp_new_handler;
WEDisposeObjectUPP upp_dispose_handler;
WEDrawObjectUPP upp_draw_handler;
WEClickObjectUPP upp_click_handler;
static OSErr
any_handler(WESelector what, WEObjectReference who, PyObject *args, PyObject **rv)
@ -1826,10 +1829,10 @@ static PyObject *waste_WEInstallObjectHandler(_self, _args)
&py_handler,
ExistingwasteObj_New, &we) ) return NULL;
if ( selector == weNewHandler ) handler = upp_new_handler;
else if ( selector == weDisposeHandler ) handler = upp_dispose_handler;
else if ( selector == weDrawHandler ) handler = upp_draw_handler;
else if ( selector == weClickHandler ) handler = upp_click_handler;
if ( selector == weNewHandler ) handler = (UniversalProcPtr)upp_new_handler;
else if ( selector == weDisposeHandler ) handler = (UniversalProcPtr)upp_dispose_handler;
else if ( selector == weDrawHandler ) handler = (UniversalProcPtr)upp_draw_handler;
else if ( selector == weClickHandler ) handler = (UniversalProcPtr)upp_click_handler;
else return PyMac_Error(weUndefinedSelectorErr);
if ((key = Py_BuildValue("O&O&",
@ -1914,9 +1917,9 @@ void initwaste()
if (callbackdict == NULL || PyDict_SetItemString(d, "callbacks", callbackdict) != 0)
Py_FatalError("can't initialize Waste.callbackdict");
upp_new_handler = NewWENewObjectProc(my_new_handler);
upp_dispose_handler = NewWENewObjectProc(my_dispose_handler);
upp_draw_handler = NewWENewObjectProc(my_draw_handler);
upp_click_handler = NewWENewObjectProc(my_click_handler);
upp_dispose_handler = NewWEDisposeObjectProc(my_dispose_handler);
upp_draw_handler = NewWEDrawObjectProc(my_draw_handler);
upp_click_handler = NewWEClickObjectProc(my_click_handler);
}

View File

@ -126,7 +126,10 @@ LongPt_New(LongPt *p)
/* Stuff for the callbacks: */
static PyObject *callbackdict;
UniversalProcPtr upp_new_handler, upp_dispose_handler, upp_draw_handler, upp_click_handler;
WENewObjectUPP upp_new_handler;
WEDisposeObjectUPP upp_dispose_handler;
WEDrawObjectUPP upp_draw_handler;
WEClickObjectUPP upp_click_handler;
static OSErr
any_handler(WESelector what, WEObjectReference who, PyObject *args, PyObject **rv)
@ -279,9 +282,9 @@ variablestuff = """
if (callbackdict == NULL || PyDict_SetItemString(d, "callbacks", callbackdict) != 0)
Py_FatalError("can't initialize Waste.callbackdict");
upp_new_handler = NewWENewObjectProc(my_new_handler);
upp_dispose_handler = NewWENewObjectProc(my_dispose_handler);
upp_draw_handler = NewWENewObjectProc(my_draw_handler);
upp_click_handler = NewWENewObjectProc(my_click_handler);
upp_dispose_handler = NewWEDisposeObjectProc(my_dispose_handler);
upp_draw_handler = NewWEDrawObjectProc(my_draw_handler);
upp_click_handler = NewWEClickObjectProc(my_click_handler);
"""
@ -363,10 +366,10 @@ inshandler_body = """
&py_handler,
ExistingwasteObj_New, &we) ) return NULL;
if ( selector == weNewHandler ) handler = upp_new_handler;
else if ( selector == weDisposeHandler ) handler = upp_dispose_handler;
else if ( selector == weDrawHandler ) handler = upp_draw_handler;
else if ( selector == weClickHandler ) handler = upp_click_handler;
if ( selector == weNewHandler ) handler = (UniversalProcPtr)upp_new_handler;
else if ( selector == weDisposeHandler ) handler = (UniversalProcPtr)upp_dispose_handler;
else if ( selector == weDrawHandler ) handler = (UniversalProcPtr)upp_draw_handler;
else if ( selector == weClickHandler ) handler = (UniversalProcPtr)upp_click_handler;
else return PyMac_Error(weUndefinedSelectorErr);
if ((key = Py_BuildValue("O&O&",