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

Skip to content

Commit 85152b9

Browse files
committed
Fiddled declaration/implementation of setcallback() so that it is ansifyable.
1 parent 88887aa commit 85152b9

2 files changed

Lines changed: 16 additions & 8 deletions

File tree

Mac/Modules/ctl/Ctlmodule.c

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,9 @@ static ControlUserPaneTrackingUPP mytrackingproc_upp;
9393

9494
extern int settrackfunc(PyObject *); /* forward */
9595
extern void clrtrackfunc(void); /* forward */
96+
#ifndef TARGET_API_MAC_CARBON_NOTYET
97+
staticforward int setcallback(PyObject *, OSType, PyObject *, UniversalProcPtr *);
98+
#endif
9699

97100
static PyObject *Ctl_Error;
98101

@@ -1441,15 +1444,15 @@ static PyObject *CtlObj_SetControlDataCallback(_self, _args)
14411444
ControlPartCode inPart;
14421445
ResType inTagName;
14431446
PyObject *callback;
1444-
UniversalProcPtr *c_callback;
1447+
UniversalProcPtr c_callback;
14451448

14461449
if (!PyArg_ParseTuple(_args, "hO&O",
14471450
&inPart,
14481451
PyMac_GetOSType, &inTagName,
14491452
&callback))
14501453
return NULL;
14511454

1452-
if ( setcallback(_self, inTagName, callback, &c_callback) < 0 )
1455+
if ( setcallback((PyObject *)_self, inTagName, callback, &c_callback) < 0 )
14531456
return NULL;
14541457
_err = SetControlData(_self->ob_itself,
14551458
inPart,
@@ -2164,12 +2167,13 @@ mytracker(ControlHandle ctl, short part)
21642167

21652168
#ifndef TARGET_API_MAC_CARBON_NOTYET
21662169
static int
2167-
setcallback(self, which, callback, uppp)
2168-
ControlObject *self;
2170+
setcallback(myself, which, callback, uppp)
2171+
PyObject *myself;
21692172
OSType which;
21702173
PyObject *callback;
21712174
UniversalProcPtr *uppp;
21722175
{
2176+
ControlObject *self = (ControlObject *)myself;
21732177
char keybuf[9];
21742178

21752179
if ( which == kControlUserPaneDrawProcTag )

Mac/Modules/ctl/ctlsupport.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,9 @@
9393
9494
extern int settrackfunc(PyObject *); /* forward */
9595
extern void clrtrackfunc(void); /* forward */
96+
#ifndef TARGET_API_MAC_CARBON_NOTYET
97+
staticforward int setcallback(PyObject *, OSType, PyObject *, UniversalProcPtr *);
98+
#endif
9699
"""
97100

98101
finalstuff = finalstuff + """
@@ -165,12 +168,13 @@
165168
166169
#ifndef TARGET_API_MAC_CARBON_NOTYET
167170
static int
168-
setcallback(self, which, callback, uppp)
169-
ControlObject *self;
171+
setcallback(myself, which, callback, uppp)
172+
PyObject *myself;
170173
OSType which;
171174
PyObject *callback;
172175
UniversalProcPtr *uppp;
173176
{
177+
ControlObject *self = (ControlObject *)myself;
174178
char keybuf[9];
175179
176180
if ( which == kControlUserPaneDrawProcTag )
@@ -544,15 +548,15 @@ def outputCleanupStructMembers(self):
544548
ControlPartCode inPart;
545549
ResType inTagName;
546550
PyObject *callback;
547-
UniversalProcPtr *c_callback;
551+
UniversalProcPtr c_callback;
548552
549553
if (!PyArg_ParseTuple(_args, "hO&O",
550554
&inPart,
551555
PyMac_GetOSType, &inTagName,
552556
&callback))
553557
return NULL;
554558
555-
if ( setcallback(_self, inTagName, callback, &c_callback) < 0 )
559+
if ( setcallback((PyObject *)_self, inTagName, callback, &c_callback) < 0 )
556560
return NULL;
557561
_err = SetControlData(_self->ob_itself,
558562
inPart,

0 commit comments

Comments
 (0)