[Python-checkins] CVS: python/dist/src/Mac/Modules/cm _Cmmodule.c,1.7,1.8
Jack Jansen
jackjansen@users.sourceforge.net
Sun, 24 Mar 2002 15:04:10 -0800
Update of /cvsroot/python/python/dist/src/Mac/Modules/cm
In directory usw-pr-cvs1:/tmp/cvs-serv5056/Python/Mac/Modules/cm
Modified Files:
_Cmmodule.c
Log Message:
Weaklink most toolbox modules, improving backward compatibility. Modules will no longer fail to load if a single routine is missing on the curent OS version, in stead calling the missing routine will raise an exception.
Should finally fix 531398. 2.2.1 candidate.
Also blacklisted some constants with definitions that were not Python-compatible.
Index: _Cmmodule.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/Modules/cm/_Cmmodule.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** _Cmmodule.c 18 Dec 2001 15:38:17 -0000 1.7
--- _Cmmodule.c 24 Mar 2002 23:04:08 -0000 1.8
***************
*** 110,113 ****
--- 110,116 ----
PyObject *_res = NULL;
OSErr _err;
+ #ifndef CloseComponent
+ PyMac_PRECHECK(CloseComponent);
+ #endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
***************
*** 123,126 ****
--- 126,132 ----
PyObject *_res = NULL;
OSErr _err;
+ #ifndef GetComponentInstanceError
+ PyMac_PRECHECK(GetComponentInstanceError);
+ #endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
***************
*** 136,139 ****
--- 142,148 ----
PyObject *_res = NULL;
OSErr theError;
+ #ifndef SetComponentInstanceError
+ PyMac_PRECHECK(SetComponentInstanceError);
+ #endif
if (!PyArg_ParseTuple(_args, "h",
&theError))
***************
*** 150,153 ****
--- 159,165 ----
PyObject *_res = NULL;
Handle _rv;
+ #ifndef GetComponentInstanceStorage
+ PyMac_PRECHECK(GetComponentInstanceStorage);
+ #endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
***************
*** 162,165 ****
--- 174,180 ----
PyObject *_res = NULL;
Handle theStorage;
+ #ifndef SetComponentInstanceStorage
+ PyMac_PRECHECK(SetComponentInstanceStorage);
+ #endif
if (!PyArg_ParseTuple(_args, "O&",
ResObj_Convert, &theStorage))
***************
*** 178,181 ****
--- 193,199 ----
PyObject *_res = NULL;
long _rv;
+ #ifndef GetComponentInstanceA5
+ PyMac_PRECHECK(GetComponentInstanceA5);
+ #endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
***************
*** 193,196 ****
--- 211,217 ----
PyObject *_res = NULL;
long theA5;
+ #ifndef SetComponentInstanceA5
+ PyMac_PRECHECK(SetComponentInstanceA5);
+ #endif
if (!PyArg_ParseTuple(_args, "l",
&theA5))
***************
*** 209,212 ****
--- 230,236 ----
long _rv;
short ftnNumber;
+ #ifndef ComponentFunctionImplemented
+ PyMac_PRECHECK(ComponentFunctionImplemented);
+ #endif
if (!PyArg_ParseTuple(_args, "h",
&ftnNumber))
***************
*** 223,226 ****
--- 247,253 ----
PyObject *_res = NULL;
long _rv;
+ #ifndef GetComponentVersion
+ PyMac_PRECHECK(GetComponentVersion);
+ #endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
***************
*** 236,239 ****
--- 263,269 ----
long _rv;
ComponentInstance target;
+ #ifndef ComponentSetTarget
+ PyMac_PRECHECK(ComponentSetTarget);
+ #endif
if (!PyArg_ParseTuple(_args, "O&",
CmpInstObj_Convert, &target))
***************
*** 362,365 ****
--- 392,398 ----
PyObject *_res = NULL;
OSErr _err;
+ #ifndef UnregisterComponent
+ PyMac_PRECHECK(UnregisterComponent);
+ #endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
***************
*** 379,382 ****
--- 412,418 ----
Handle componentInfo;
Handle componentIcon;
+ #ifndef GetComponentInfo
+ PyMac_PRECHECK(GetComponentInfo);
+ #endif
if (!PyArg_ParseTuple(_args, "O&O&O&",
ResObj_Convert, &componentName,
***************
*** 399,402 ****
--- 435,441 ----
PyObject *_res = NULL;
ComponentInstance _rv;
+ #ifndef OpenComponent
+ PyMac_PRECHECK(OpenComponent);
+ #endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
***************
*** 411,414 ****
--- 450,456 ----
PyObject *_res = NULL;
Component _rv;
+ #ifndef ResolveComponentAlias
+ PyMac_PRECHECK(ResolveComponentAlias);
+ #endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
***************
*** 426,429 ****
--- 468,474 ----
short strListID;
short index;
+ #ifndef GetComponentPublicIndString
+ PyMac_PRECHECK(GetComponentPublicIndString);
+ #endif
if (!PyArg_ParseTuple(_args, "O&hh",
PyMac_GetStr255, theString,
***************
*** 445,448 ****
--- 490,496 ----
PyObject *_res = NULL;
long _rv;
+ #ifndef GetComponentRefcon
+ PyMac_PRECHECK(GetComponentRefcon);
+ #endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
***************
*** 457,460 ****
--- 505,511 ----
PyObject *_res = NULL;
long theRefcon;
+ #ifndef SetComponentRefcon
+ PyMac_PRECHECK(SetComponentRefcon);
+ #endif
if (!PyArg_ParseTuple(_args, "l",
&theRefcon))
***************
*** 471,474 ****
--- 522,528 ----
PyObject *_res = NULL;
short _rv;
+ #ifndef OpenComponentResFile
+ PyMac_PRECHECK(OpenComponentResFile);
+ #endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
***************
*** 486,489 ****
--- 540,546 ----
short resID;
Handle theResource;
+ #ifndef GetComponentResource
+ PyMac_PRECHECK(GetComponentResource);
+ #endif
if (!PyArg_ParseTuple(_args, "O&h",
PyMac_GetOSType, &resType,
***************
*** 507,510 ****
--- 564,570 ----
short strListID;
short index;
+ #ifndef GetComponentIndString
+ PyMac_PRECHECK(GetComponentIndString);
+ #endif
if (!PyArg_ParseTuple(_args, "O&hh",
PyMac_GetStr255, theString,
***************
*** 526,529 ****
--- 586,592 ----
PyObject *_res = NULL;
long _rv;
+ #ifndef CountComponentInstances
+ PyMac_PRECHECK(CountComponentInstances);
+ #endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
***************
*** 539,542 ****
--- 602,608 ----
OSErr _err;
short flags;
+ #ifndef SetDefaultComponent
+ PyMac_PRECHECK(SetDefaultComponent);
+ #endif
if (!PyArg_ParseTuple(_args, "h",
&flags))
***************
*** 555,558 ****
--- 621,627 ----
Component _rv;
Component capturingComponent;
+ #ifndef CaptureComponent
+ PyMac_PRECHECK(CaptureComponent);
+ #endif
if (!PyArg_ParseTuple(_args, "O&",
CmpObj_Convert, &capturingComponent))
***************
*** 569,572 ****
--- 638,644 ----
PyObject *_res = NULL;
OSErr _err;
+ #ifndef UncaptureComponent
+ PyMac_PRECHECK(UncaptureComponent);
+ #endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
***************
*** 583,586 ****
--- 655,661 ----
OSErr _err;
Handle iconSuite;
+ #ifndef GetComponentIconSuite
+ PyMac_PRECHECK(GetComponentIconSuite);
+ #endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
***************
*** 670,673 ****
--- 745,751 ----
ComponentResourceHandle cr;
short global;
+ #ifndef RegisterComponentResource
+ PyMac_PRECHECK(RegisterComponentResource);
+ #endif
if (!PyArg_ParseTuple(_args, "O&h",
ResObj_Convert, &cr,
***************
*** 687,690 ****
--- 765,771 ----
Component aComponent;
ComponentDescription looking;
+ #ifndef FindNextComponent
+ PyMac_PRECHECK(FindNextComponent);
+ #endif
if (!PyArg_ParseTuple(_args, "O&O&",
CmpObj_Convert, &aComponent,
***************
*** 703,706 ****
--- 784,790 ----
long _rv;
ComponentDescription looking;
+ #ifndef CountComponents
+ PyMac_PRECHECK(CountComponents);
+ #endif
if (!PyArg_ParseTuple(_args, "O&",
CmpDesc_Convert, &looking))
***************
*** 716,719 ****
--- 800,806 ----
PyObject *_res = NULL;
long _rv;
+ #ifndef GetComponentListModSeed
+ PyMac_PRECHECK(GetComponentListModSeed);
+ #endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
***************
*** 729,732 ****
--- 816,822 ----
OSErr _err;
short refnum;
+ #ifndef CloseComponentResFile
+ PyMac_PRECHECK(CloseComponentResFile);
+ #endif
if (!PyArg_ParseTuple(_args, "h",
&refnum))
***************
*** 745,748 ****
--- 835,841 ----
OSType componentType;
OSType componentSubType;
+ #ifndef OpenDefaultComponent
+ PyMac_PRECHECK(OpenDefaultComponent);
+ #endif
if (!PyArg_ParseTuple(_args, "O&O&",
PyMac_GetOSType, &componentType,
***************
*** 762,765 ****
--- 855,861 ----
short resRefNum;
short global;
+ #ifndef RegisterComponentResourceFile
+ PyMac_PRECHECK(RegisterComponentResourceFile);
+ #endif
if (!PyArg_ParseTuple(_args, "hh",
&resRefNum,