Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 25241d9

Browse files
committed
Fixed callback handling on 68K machines.
1 parent 12fe9fb commit 25241d9

2 files changed

Lines changed: 22 additions & 16 deletions

File tree

Mac/Modules/waste/wastemodule.c

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,10 @@ LongPt_New(LongPt *p)
119119

120120
/* Stuff for the callbacks: */
121121
static PyObject *callbackdict;
122-
UniversalProcPtr upp_new_handler, upp_dispose_handler, upp_draw_handler, upp_click_handler;
122+
WENewObjectUPP upp_new_handler;
123+
WEDisposeObjectUPP upp_dispose_handler;
124+
WEDrawObjectUPP upp_draw_handler;
125+
WEClickObjectUPP upp_click_handler;
123126

124127
static OSErr
125128
any_handler(WESelector what, WEObjectReference who, PyObject *args, PyObject **rv)
@@ -1826,10 +1829,10 @@ static PyObject *waste_WEInstallObjectHandler(_self, _args)
18261829
&py_handler,
18271830
ExistingwasteObj_New, &we) ) return NULL;
18281831

1829-
if ( selector == weNewHandler ) handler = upp_new_handler;
1830-
else if ( selector == weDisposeHandler ) handler = upp_dispose_handler;
1831-
else if ( selector == weDrawHandler ) handler = upp_draw_handler;
1832-
else if ( selector == weClickHandler ) handler = upp_click_handler;
1832+
if ( selector == weNewHandler ) handler = (UniversalProcPtr)upp_new_handler;
1833+
else if ( selector == weDisposeHandler ) handler = (UniversalProcPtr)upp_dispose_handler;
1834+
else if ( selector == weDrawHandler ) handler = (UniversalProcPtr)upp_draw_handler;
1835+
else if ( selector == weClickHandler ) handler = (UniversalProcPtr)upp_click_handler;
18331836
else return PyMac_Error(weUndefinedSelectorErr);
18341837

18351838
if ((key = Py_BuildValue("O&O&",
@@ -1914,9 +1917,9 @@ void initwaste()
19141917
if (callbackdict == NULL || PyDict_SetItemString(d, "callbacks", callbackdict) != 0)
19151918
Py_FatalError("can't initialize Waste.callbackdict");
19161919
upp_new_handler = NewWENewObjectProc(my_new_handler);
1917-
upp_dispose_handler = NewWENewObjectProc(my_dispose_handler);
1918-
upp_draw_handler = NewWENewObjectProc(my_draw_handler);
1919-
upp_click_handler = NewWENewObjectProc(my_click_handler);
1920+
upp_dispose_handler = NewWEDisposeObjectProc(my_dispose_handler);
1921+
upp_draw_handler = NewWEDrawObjectProc(my_draw_handler);
1922+
upp_click_handler = NewWEClickObjectProc(my_click_handler);
19201923

19211924

19221925
}

Mac/Modules/waste/wastesupport.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,10 @@
126126
127127
/* Stuff for the callbacks: */
128128
static PyObject *callbackdict;
129-
UniversalProcPtr upp_new_handler, upp_dispose_handler, upp_draw_handler, upp_click_handler;
129+
WENewObjectUPP upp_new_handler;
130+
WEDisposeObjectUPP upp_dispose_handler;
131+
WEDrawObjectUPP upp_draw_handler;
132+
WEClickObjectUPP upp_click_handler;
130133
131134
static OSErr
132135
any_handler(WESelector what, WEObjectReference who, PyObject *args, PyObject **rv)
@@ -279,9 +282,9 @@ def outputCheckNewArg(self):
279282
if (callbackdict == NULL || PyDict_SetItemString(d, "callbacks", callbackdict) != 0)
280283
Py_FatalError("can't initialize Waste.callbackdict");
281284
upp_new_handler = NewWENewObjectProc(my_new_handler);
282-
upp_dispose_handler = NewWENewObjectProc(my_dispose_handler);
283-
upp_draw_handler = NewWENewObjectProc(my_draw_handler);
284-
upp_click_handler = NewWENewObjectProc(my_click_handler);
285+
upp_dispose_handler = NewWEDisposeObjectProc(my_dispose_handler);
286+
upp_draw_handler = NewWEDrawObjectProc(my_draw_handler);
287+
upp_click_handler = NewWEClickObjectProc(my_click_handler);
285288
"""
286289

287290

@@ -363,10 +366,10 @@ def outputCheckNewArg(self):
363366
&py_handler,
364367
ExistingwasteObj_New, &we) ) return NULL;
365368
366-
if ( selector == weNewHandler ) handler = upp_new_handler;
367-
else if ( selector == weDisposeHandler ) handler = upp_dispose_handler;
368-
else if ( selector == weDrawHandler ) handler = upp_draw_handler;
369-
else if ( selector == weClickHandler ) handler = upp_click_handler;
369+
if ( selector == weNewHandler ) handler = (UniversalProcPtr)upp_new_handler;
370+
else if ( selector == weDisposeHandler ) handler = (UniversalProcPtr)upp_dispose_handler;
371+
else if ( selector == weDrawHandler ) handler = (UniversalProcPtr)upp_draw_handler;
372+
else if ( selector == weClickHandler ) handler = (UniversalProcPtr)upp_click_handler;
370373
else return PyMac_Error(weUndefinedSelectorErr);
371374
372375
if ((key = Py_BuildValue("O&O&",

0 commit comments

Comments
 (0)