Issue #27806: Fix 32-bit builds on macOS Sierra 10.12 broken by removal of

deprecated QuickTime/QuickTime.h header file.  Patch by sashk.
This commit is contained in:
sashk 2016-09-16 09:08:45 -04:00
parent 75b2c5f82d
commit fd2f85d6e4
19 changed files with 183 additions and 178 deletions

View File

@ -9,9 +9,24 @@
#include <Carbon/Carbon.h>
#ifndef __LP64__
/*
** Issue #27806: Workaround for gcc 4.x which does not have _has_include.
*/
#ifndef __has_include
#define __has_include(x) 0
#endif
/* Workaround */
#if __has_include(<Availability.h>)
#include <Availability.h>
#define APPLE_SUPPORTS_QUICKTIME (__MAC_OS_X_VERSION_MAX_ALLOWED < 101200) && !__LP64__
#else
#define APPLE_SUPPORTS_QUICKTIME !__LP64__
#endif
#if APPLE_SUPPORTS_QUICKTIME
#include <QuickTime/QuickTime.h>
#endif /* !__LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
/*
** Helper routines for error codes and such.
@ -21,10 +36,10 @@ extern PyObject *PyMac_OSErrException; /* Exception for OSErr */
PyObject *PyMac_GetOSErrException(void); /* Initialize & return it */
PyObject *PyErr_Mac(PyObject *, int); /* Exception with a mac error */
PyObject *PyMac_Error(OSErr); /* Uses PyMac_GetOSErrException */
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
extern OSErr PyMac_GetFullPathname(FSSpec *, char *, int); /* convert
fsspec->path */
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
/*
** These conversion routines are defined in mactoolboxglue.c itself.
@ -109,54 +124,54 @@ extern PyObject *CmpInstObj_New(ComponentInstance);
extern int CmpInstObj_Convert(PyObject *, ComponentInstance *);
/* Ctl exports */
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
extern PyObject *CtlObj_New(ControlHandle);
extern int CtlObj_Convert(PyObject *, ControlHandle *);
#endif /* !__LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
/* Dlg exports */
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
extern PyObject *DlgObj_New(DialogPtr);
extern int DlgObj_Convert(PyObject *, DialogPtr *);
extern PyObject *DlgObj_WhichDialog(DialogPtr);
#endif /* !__LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
/* Drag exports */
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
extern PyObject *DragObj_New(DragReference);
extern int DragObj_Convert(PyObject *, DragReference *);
#endif /* !__LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
/* List exports */
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
extern PyObject *ListObj_New(ListHandle);
extern int ListObj_Convert(PyObject *, ListHandle *);
#endif /* !__LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
/* Menu exports */
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
extern PyObject *MenuObj_New(MenuHandle);
extern int MenuObj_Convert(PyObject *, MenuHandle *);
#endif /* !__LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
/* Qd exports */
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
extern PyObject *GrafObj_New(GrafPtr);
extern int GrafObj_Convert(PyObject *, GrafPtr *);
extern PyObject *BMObj_New(BitMapPtr);
extern int BMObj_Convert(PyObject *, BitMapPtr *);
extern PyObject *QdRGB_New(RGBColor *);
extern int QdRGB_Convert(PyObject *, RGBColor *);
#endif /* !__LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
/* Qdoffs exports */
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
extern PyObject *GWorldObj_New(GWorldPtr);
extern int GWorldObj_Convert(PyObject *, GWorldPtr *);
#endif /* !__LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
/* Qt exports */
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
extern PyObject *TrackObj_New(Track);
extern int TrackObj_Convert(PyObject *, Track *);
extern PyObject *MovieObj_New(Movie);
@ -169,7 +184,7 @@ extern PyObject *UserDataObj_New(UserData);
extern int UserDataObj_Convert(PyObject *, UserData *);
extern PyObject *MediaObj_New(Media);
extern int MediaObj_Convert(PyObject *, Media *);
#endif /* !__LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
/* Res exports */
extern PyObject *ResObj_New(Handle);
@ -178,17 +193,17 @@ extern PyObject *OptResObj_New(Handle);
extern int OptResObj_Convert(PyObject *, Handle *);
/* TE exports */
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
extern PyObject *TEObj_New(TEHandle);
extern int TEObj_Convert(PyObject *, TEHandle *);
#endif /* !__LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
/* Win exports */
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
extern PyObject *WinObj_New(WindowPtr);
extern int WinObj_Convert(PyObject *, WindowPtr *);
extern PyObject *WinObj_WhichWindow(WindowPtr);
#endif /* !__LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
/* CF exports */
extern PyObject *CFObj_New(CFTypeRef);

View File

@ -28,7 +28,7 @@ PERFORMANCE OF THIS SOFTWARE.
/* ----------------------------------------------------- */
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
static char cp_GetColor__doc__[] =
"GetColor(prompt, (r, g, b)) -> (r, g, b), ok"
@ -49,14 +49,14 @@ cp_GetColor(PyObject *self, PyObject *args)
return Py_BuildValue("O&h", QdRGB_New, &outColor, ok);
}
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
/* List of methods defined in the module */
static struct PyMethodDef cp_methods[] = {
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
{"GetColor", (PyCFunction)cp_GetColor, METH_VARARGS, cp_GetColor__doc__},
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
{NULL, (PyCFunction)NULL, 0, NULL} /* sentinel */
};
@ -87,4 +87,3 @@ void initColorPicker(void)
if (PyErr_Occurred())
Py_FatalError("can't initialize module ColorPicker");
}

View File

@ -299,7 +299,7 @@ MacOS_GetCreatorAndType(PyObject *self, PyObject *args)
FileInfo* finfo;
if (!PyArg_ParseTuple(args, "O&", PyMac_GetFSRef, &ref)) {
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
/* This function is documented to take an FSSpec as well,
* which only works in 32-bit mode.
*/
@ -324,9 +324,9 @@ MacOS_GetCreatorAndType(PyObject *self, PyObject *args)
Py_DECREF(creator);
Py_DECREF(type);
return res;
#else /* __LP64__ */
#else /* APPLE_SUPPORTS_QUICKTIME */
return NULL;
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
}
err = FSGetCatalogInfo(&ref,
@ -372,7 +372,7 @@ MacOS_SetCreatorAndType(PyObject *self, PyObject *args)
if (!PyArg_ParseTuple(args, "O&O&O&",
PyMac_GetFSRef, &ref, PyMac_GetOSType, &creator, PyMac_GetOSType, &type)) {
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
/* Try to handle FSSpec arguments, for backward compatibility */
FSSpec fss;
FInfo info;
@ -391,9 +391,9 @@ MacOS_SetCreatorAndType(PyObject *self, PyObject *args)
return PyErr_Mac(MacOS_Error, err);
Py_INCREF(Py_None);
return Py_None;
#else /* __LP64__ */
#else /* APPLE_SUPPORTS_QUICKTIME */
return NULL;
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
}
err = FSGetCatalogInfo(&ref,

View File

@ -14,7 +14,7 @@
#include <Carbon/Carbon.h>
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
static PyObject *
PyOSA_GetAppTerminology(PyObject* self, PyObject* args)
{
@ -73,14 +73,14 @@ PyOSA_GetSysTerminology(PyObject* self, PyObject* args)
if (err) return PyMac_Error(err);
return Py_BuildValue("O&", AEDesc_New, &theDesc);
}
#endif /* !__LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
/*
* List of methods defined in the module
*/
static struct PyMethodDef OSATerminology_methods[] =
{
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
{"GetAppTerminology",
(PyCFunction) PyOSA_GetAppTerminology,
METH_VARARGS,
@ -89,7 +89,7 @@ static struct PyMethodDef OSATerminology_methods[] =
(PyCFunction) PyOSA_GetSysTerminology,
METH_VARARGS,
"Get the AppleScript language's terminology. GetSysTerminology() --> AEDesc"},
#endif /* !__LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
{NULL, (PyCFunction) NULL, 0, NULL}
};

View File

@ -2,13 +2,11 @@
/* ========================== Module _App =========================== */
#include "Python.h"
#ifndef __LP64__
/* Carbon GUI stuff, not available in 64-bit mode */
#include "pymactoolbox.h"
#if APPLE_SUPPORTS_QUICKTIME
/* Carbon GUI stuff, not available in 64-bit mode */
/* Macro to test whether a weak-loaded CFM function exists */
#define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\
PyErr_SetString(PyExc_NotImplementedError, \
@ -1806,13 +1804,13 @@ static PyMethodDef App_methods[] = {
void init_App(void)
{
PyObject *m;
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
PyObject *d;
#endif /* !__LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
m = Py_InitModule("_App", App_methods);
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
d = PyModule_GetDict(m);
App_Error = PyMac_GetOSErrException();
if (App_Error == NULL ||
@ -1825,7 +1823,7 @@ void init_App(void)
/* Backward-compatible name */
Py_INCREF(&ThemeDrawingState_Type);
PyModule_AddObject(m, "ThemeDrawingStateType", (PyObject *)&ThemeDrawingState_Type);
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
}
/* ======================== End module _App ========================= */

View File

@ -2,11 +2,11 @@
/* ======================= Module _CarbonEvt ======================== */
#include "Python.h"
#ifndef __LP64__
#include "pymactoolbox.h"
#if APPLE_SUPPORTS_QUICKTIME
/* Macro to test whether a weak-loaded CFM function exists */
#define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\
PyErr_SetString(PyExc_NotImplementedError, \
@ -2128,27 +2128,27 @@ static PyMethodDef CarbonEvents_methods[] = {
{NULL, NULL, 0}
};
#else /* __LP64__ */
#else /* APPLE_SUPPORTS_QUICKTIME */
static PyMethodDef CarbonEvents_methods[] = {
{NULL, NULL, 0}
};
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
void init_CarbonEvt(void)
{
PyObject *m;
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
PyObject *d;
#endif /* !__LP64__ */
#endif /* !APPLE_SUPPORTS_QUICKTIME */
m = Py_InitModule("_CarbonEvt", CarbonEvents_methods);
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
myEventHandlerUPP = NewEventHandlerUPP(myEventHandler);
d = PyModule_GetDict(m);
CarbonEvents_Error = PyMac_GetOSErrException();
@ -2211,7 +2211,7 @@ void init_CarbonEvt(void)
/* Backward-compatible name */
Py_INCREF(&EventHotKeyRef_Type);
PyModule_AddObject(m, "EventHotKeyRefType", (PyObject *)&EventHotKeyRef_Type);
#endif /* !__LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
}
/* ===================== End module _CarbonEvt ====================== */

View File

@ -2,12 +2,12 @@
/* ========================== Module _Ctl =========================== */
#include "Python.h"
#ifndef __LP64__
#include "pymactoolbox.h"
#if APPLE_SUPPORTS_QUICKTIME
/* Macro to test whether a weak-loaded CFM function exists */
#define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\
PyErr_SetString(PyExc_NotImplementedError, \
@ -5766,19 +5766,19 @@ mytrackingproc(ControlHandle control, Point startPt, ControlActionUPP actionProc
return (ControlPartCode)c_rv;
}
#else /* __LP64__ */
#else /* APPLE_SUPPORTS_QUICKTIME */
static PyMethodDef Ctl_methods[] = {
{NULL, NULL, 0}
};
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
void init_Ctl(void)
{
PyObject *m;
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
PyObject *d;
mytracker_upp = NewControlActionUPP(mytracker);
@ -5791,11 +5791,11 @@ void init_Ctl(void)
mytrackingproc_upp = NewControlUserPaneTrackingUPP(mytrackingproc);
PyMac_INIT_TOOLBOX_OBJECT_NEW(ControlHandle, CtlObj_New);
PyMac_INIT_TOOLBOX_OBJECT_CONVERT(ControlHandle, CtlObj_Convert);
#endif /* !__LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
m = Py_InitModule("_Ctl", Ctl_methods);
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
d = PyModule_GetDict(m);
Ctl_Error = PyMac_GetOSErrException();
if (Ctl_Error == NULL ||
@ -5808,8 +5808,7 @@ void init_Ctl(void)
/* Backward-compatible name */
Py_INCREF(&Control_Type);
PyModule_AddObject(m, "ControlType", (PyObject *)&Control_Type);
#endif /* !__LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
}
/* ======================== End module _Ctl ========================= */

View File

@ -2,12 +2,10 @@
/* ========================== Module _Dlg =========================== */
#include "Python.h"
#ifndef __LP64__
#include "pymactoolbox.h"
#if APPLE_SUPPORTS_QUICKTIME
/* Macro to test whether a weak-loaded CFM function exists */
#define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\
PyErr_SetString(PyExc_NotImplementedError, \
@ -1577,7 +1575,7 @@ static PyMethodDef Dlg_methods[] = {
void init_Dlg(void)
{
PyObject *m;
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
PyObject *d;
@ -1585,11 +1583,11 @@ void init_Dlg(void)
PyMac_INIT_TOOLBOX_OBJECT_NEW(DialogPtr, DlgObj_New);
PyMac_INIT_TOOLBOX_OBJECT_NEW(DialogPtr, DlgObj_WhichDialog);
PyMac_INIT_TOOLBOX_OBJECT_CONVERT(DialogPtr, DlgObj_Convert);
#endif /* !__LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
m = Py_InitModule("_Dlg", Dlg_methods);
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
d = PyModule_GetDict(m);
Dlg_Error = PyMac_GetOSErrException();
if (Dlg_Error == NULL ||
@ -1602,7 +1600,7 @@ void init_Dlg(void)
/* Backward-compatible name */
Py_INCREF(&Dialog_Type);
PyModule_AddObject(m, "DialogType", (PyObject *)&Dialog_Type);
#endif /* !__LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
}
/* ======================== End module _Dlg ========================= */

View File

@ -2,12 +2,10 @@
/* ========================== Module _Drag ========================== */
#include "Python.h"
#ifndef __LP64__
#include "pymactoolbox.h"
#if APPLE_SUPPORTS_QUICKTIME
/* Macro to test whether a weak-loaded CFM function exists */
#define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\
PyErr_SetString(PyExc_NotImplementedError, \
@ -1117,18 +1115,18 @@ static PyMethodDef Drag_methods[] = {
void init_Drag(void)
{
PyObject *m;
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
PyObject *d;
PyMac_INIT_TOOLBOX_OBJECT_NEW(DragRef, DragObj_New);
PyMac_INIT_TOOLBOX_OBJECT_CONVERT(DragRef, DragObj_Convert);
#endif /* !__LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
m = Py_InitModule("_Drag", Drag_methods);
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
d = PyModule_GetDict(m);
Drag_Error = PyMac_GetOSErrException();
if (Drag_Error == NULL ||
@ -1150,7 +1148,7 @@ void init_Drag(void)
dragglue_DrawingUPP = NewDragDrawingUPP(dragglue_Drawing);
#endif
#endif /* !__LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
}

View File

@ -2,12 +2,10 @@
/* ========================== Module _Help ========================== */
#include "Python.h"
#ifndef __LP64__
#include "pymactoolbox.h"
#if APPLE_SUPPORTS_QUICKTIME
/* Macro to test whether a weak-loaded CFM function exists */
#define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\
PyErr_SetString(PyExc_NotImplementedError, \
@ -145,10 +143,10 @@ static PyObject *Help_HMHideTag(PyObject *_self, PyObject *_args)
return _res;
}
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
static PyMethodDef Help_methods[] = {
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
{"HMGetHelpMenu", (PyCFunction)Help_HMGetHelpMenu, 1,
PyDoc_STR("() -> (MenuRef outHelpMenu, MenuItemIndex outFirstCustomItemIndex)")},
{"HMAreHelpTagsDisplayed", (PyCFunction)Help_HMAreHelpTagsDisplayed, 1,
@ -165,31 +163,30 @@ static PyMethodDef Help_methods[] = {
PyDoc_STR("(DialogPtr inDialog, SInt16 inHdlgRsrcID, SInt16 inItemStart) -> None")},
{"HMHideTag", (PyCFunction)Help_HMHideTag, 1,
PyDoc_STR("() -> None")},
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
{NULL, NULL, 0}
};
void init_Help(void)
{
PyObject *m;
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
PyObject *d;
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
m = Py_InitModule("_Help", Help_methods);
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
d = PyModule_GetDict(m);
Help_Error = PyMac_GetOSErrException();
if (Help_Error == NULL ||
PyDict_SetItemString(d, "Error", Help_Error) != 0)
return;
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
}
/* ======================== End module _Help ======================== */

View File

@ -2,12 +2,12 @@
/* ======================== Module _IBCarbon ======================== */
#include "Python.h"
#include "pymactoolbox.h"
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
#include <Carbon/Carbon.h>
#include "pymactoolbox.h"
#ifdef USE_TOOLBOX_OBJECT_GLUE
extern int _CFStringRefObj_Convert(PyObject *, CFStringRef *);
@ -225,13 +225,13 @@ static PyObject *IBCarbon_CreateNibReference(PyObject *_self, PyObject *_args)
IBNibRefObj_New, outNibRef);
return _res;
}
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
static PyMethodDef IBCarbon_methods[] = {
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
{"CreateNibReference", (PyCFunction)IBCarbon_CreateNibReference, 1,
PyDoc_STR("(CFStringRef inNibName) -> (IBNibRef outNibRef)")},
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
{NULL, NULL, 0}
};
@ -241,16 +241,16 @@ static PyMethodDef IBCarbon_methods[] = {
void init_IBCarbon(void)
{
PyObject *m;
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
PyObject *d;
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
m = Py_InitModule("_IBCarbon", IBCarbon_methods);
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
d = PyModule_GetDict(m);
IBCarbon_Error = PyMac_GetOSErrException();
if (IBCarbon_Error == NULL ||
@ -263,7 +263,7 @@ void init_IBCarbon(void)
/* Backward-compatible name */
Py_INCREF(&IBNibRef_Type);
PyModule_AddObject(m, "IBNibRefType", (PyObject *)&IBNibRef_Type);
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
}
/* ====================== End module _IBCarbon ====================== */

View File

@ -2,12 +2,12 @@
/* ========================== Module _Icn =========================== */
#include "Python.h"
#ifndef __LP64__
#include "pymactoolbox.h"
#if APPLE_SUPPORTS_QUICKTIME
/* Macro to test whether a weak-loaded CFM function exists */
#define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\
PyErr_SetString(PyExc_NotImplementedError, \
@ -1448,10 +1448,10 @@ static PyObject *Icn_WriteIconFile(PyObject *_self, PyObject *_args)
_res = Py_None;
return _res;
}
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
static PyMethodDef Icn_methods[] = {
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
{"GetCIcon", (PyCFunction)Icn_GetCIcon, 1,
PyDoc_STR("(SInt16 iconID) -> (CIconHandle _rv)")},
{"PlotCIcon", (PyCFunction)Icn_PlotCIcon, 1,
@ -1576,7 +1576,7 @@ static PyMethodDef Icn_methods[] = {
PyDoc_STR("(FSRef ref) -> (IconFamilyHandle iconFamily)")},
{"WriteIconFile", (PyCFunction)Icn_WriteIconFile, 1,
PyDoc_STR("(IconFamilyHandle iconFamily, FSSpec iconFile) -> None")},
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
{NULL, NULL, 0}
};
@ -1586,21 +1586,21 @@ static PyMethodDef Icn_methods[] = {
void init_Icn(void)
{
PyObject *m;
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
PyObject *d;
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
m = Py_InitModule("_Icn", Icn_methods);
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
d = PyModule_GetDict(m);
Icn_Error = PyMac_GetOSErrException();
if (Icn_Error == NULL ||
PyDict_SetItemString(d, "Error", Icn_Error) != 0)
return;
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
}
/* ======================== End module _Icn ========================= */

View File

@ -2,12 +2,11 @@
/* ========================== Module _List ========================== */
#include "Python.h"
#ifndef __LP64__
#include "pymactoolbox.h"
#if APPLE_SUPPORTS_QUICKTIME
/* Macro to test whether a weak-loaded CFM function exists */
#define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\
PyErr_SetString(PyExc_NotImplementedError, \
@ -1032,10 +1031,10 @@ static PyObject *List_as_List(PyObject *_self, PyObject *_args)
return _res;
}
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
static PyMethodDef List_methods[] = {
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
{"CreateCustomList", (PyCFunction)List_CreateCustomList, 1,
PyDoc_STR("(Rect rView, Rect dataBounds, Point cellSize, ListDefSpec theSpec, WindowPtr theWindow, Boolean drawIt, Boolean hasGrow, Boolean scrollHoriz, Boolean scrollVert) -> (ListHandle outList)")},
{"LNew", (PyCFunction)List_LNew, 1,
@ -1058,11 +1057,11 @@ static PyMethodDef List_methods[] = {
PyDoc_STR("(ListHandle list, OptionBits selectionFlags) -> None")},
{"as_List", (PyCFunction)List_as_List, 1,
PyDoc_STR("(Resource)->List.\nReturns List object (which is not auto-freed!)")},
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
{NULL, NULL, 0}
};
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
static void myListDefFunction(SInt16 message,
@ -1100,13 +1099,13 @@ static void myListDefFunction(SInt16 message,
Py_DECREF(rv);
}
}
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
void init_List(void)
{
PyObject *m;
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
PyObject *d;
@ -1115,11 +1114,11 @@ void init_List(void)
PyMac_INIT_TOOLBOX_OBJECT_NEW(ListHandle, ListObj_New);
PyMac_INIT_TOOLBOX_OBJECT_CONVERT(ListHandle, ListObj_Convert);
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
m = Py_InitModule("_List", List_methods);
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
d = PyModule_GetDict(m);
List_Error = PyMac_GetOSErrException();
if (List_Error == NULL ||
@ -1132,7 +1131,7 @@ void init_List(void)
/* Backward-compatible name */
Py_INCREF(&List_Type);
PyModule_AddObject(m, "ListType", (PyObject *)&List_Type);
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
}
/* ======================== End module _List ======================== */

View File

@ -2,12 +2,11 @@
/* ========================== Module _Mlte ========================== */
#include "Python.h"
#ifndef __LP64__
#include "pymactoolbox.h"
#if APPLE_SUPPORTS_QUICKTIME
/* Macro to test whether a weak-loaded CFM function exists */
#define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\
PyErr_SetString(PyExc_NotImplementedError, \
@ -1623,10 +1622,10 @@ static PyObject *Mlte_TXNInitTextension(PyObject *_self, PyObject *_args)
}
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
static PyMethodDef Mlte_methods[] = {
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
{"TXNNewObject", (PyCFunction)Mlte_TXNNewObject, 1,
PyDoc_STR("(FSSpec * iFileSpec, WindowPtr iWindow, Rect iFrame, TXNFrameOptions iFrameOptions, TXNFrameType iFrameType, TXNFileType iFileType, TXNPermanentTextEncodingType iPermanentEncoding) -> (TXNObject oTXNObject, TXNFrameID oTXNFrameID)")},
{"TXNTerminateTextension", (PyCFunction)Mlte_TXNTerminateTextension, 1,
@ -1643,7 +1642,7 @@ static PyMethodDef Mlte_methods[] = {
PyDoc_STR("() -> (TXNVersionValue _rv, TXNFeatureBits oFeatureFlags)")},
{"TXNInitTextension", (PyCFunction)Mlte_TXNInitTextension, 1,
PyDoc_STR("(TXNInitOptions) -> None")},
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
{NULL, NULL, 0}
};
@ -1653,17 +1652,17 @@ static PyMethodDef Mlte_methods[] = {
void init_Mlte(void)
{
PyObject *m;
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
PyObject *d;
// PyMac_INIT_TOOLBOX_OBJECT_NEW(xxxx);
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
m = Py_InitModule("_Mlte", Mlte_methods);
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
d = PyModule_GetDict(m);
Mlte_Error = PyMac_GetOSErrException();
if (Mlte_Error == NULL ||
@ -1683,7 +1682,7 @@ void init_Mlte(void)
/* Backward-compatible name */
Py_INCREF(&TXNFontMenuObject_Type);
PyModule_AddObject(m, "TXNFontMenuObjectType", (PyObject *)&TXNFontMenuObject_Type);
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
}
/* ======================== End module _Mlte ======================== */

View File

@ -2,12 +2,12 @@
/* =========================== Module _Qt =========================== */
#include "Python.h"
#ifndef __LP64__
#include "pymactoolbox.h"
#if APPLE_SUPPORTS_QUICKTIME
/* Macro to test whether a weak-loaded CFM function exists */
#define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\
PyErr_SetString(PyExc_NotImplementedError, \
@ -26295,10 +26295,10 @@ static PyObject *Qt_MoviesTask(PyObject *_self, PyObject *_args)
_res = Py_None;
return _res;
}
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
static PyMethodDef Qt_methods[] = {
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
{"EnterMovies", (PyCFunction)Qt_EnterMovies, 1,
PyDoc_STR("() -> None")},
{"ExitMovies", (PyCFunction)Qt_ExitMovies, 1,
@ -27991,7 +27991,7 @@ static PyMethodDef Qt_methods[] = {
PyDoc_STR("(WindowPtr wp, Point startPt, Rect boundsRect) -> None")},
{"MoviesTask", (PyCFunction)Qt_MoviesTask, 1,
PyDoc_STR("(long maxMilliSecToUse) -> None")},
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
{NULL, NULL, 0}
};
@ -28001,7 +28001,7 @@ static PyMethodDef Qt_methods[] = {
void init_Qt(void)
{
PyObject *m;
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
PyObject *d;
@ -28018,11 +28018,11 @@ void init_Qt(void)
PyMac_INIT_TOOLBOX_OBJECT_CONVERT(UserData, UserDataObj_Convert);
PyMac_INIT_TOOLBOX_OBJECT_NEW(Media, MediaObj_New);
PyMac_INIT_TOOLBOX_OBJECT_CONVERT(Media, MediaObj_Convert);
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
m = Py_InitModule("_Qt", Qt_methods);
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
d = PyModule_GetDict(m);
Qt_Error = PyMac_GetOSErrException();
if (Qt_Error == NULL ||
@ -28084,7 +28084,7 @@ void init_Qt(void)
/* Backward-compatible name */
Py_INCREF(&SGOutput_Type);
PyModule_AddObject(m, "SGOutputType", (PyObject *)&SGOutput_Type);
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
}
/* ========================= End module _Qt ========================= */

View File

@ -2,12 +2,12 @@
/* =========================== Module _TE =========================== */
#include "Python.h"
#ifndef __LP64__
#include "pymactoolbox.h"
#if APPLE_SUPPORTS_QUICKTIME
/* Macro to test whether a weak-loaded CFM function exists */
#define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\
PyErr_SetString(PyExc_NotImplementedError, \
@ -1268,10 +1268,10 @@ static PyObject *TE_as_TE(PyObject *_self, PyObject *_args)
TEObj_New, _rv);
return _res;
}
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
static PyMethodDef TE_methods[] = {
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
{"TEScrapHandle", (PyCFunction)TE_TEScrapHandle, 1,
PyDoc_STR("() -> (Handle _rv)")},
{"TEGetScrapLength", (PyCFunction)TE_TEGetScrapLength, 1,
@ -1298,7 +1298,7 @@ static PyMethodDef TE_methods[] = {
PyDoc_STR("(UInt8 value) -> None")},
{"as_TE", (PyCFunction)TE_as_TE, 1,
PyDoc_STR("(Handle h) -> (TEHandle _rv)")},
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
{NULL, NULL, 0}
};
@ -1308,7 +1308,7 @@ static PyMethodDef TE_methods[] = {
void init_TE(void)
{
PyObject *m;
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
PyObject *d;
@ -1316,10 +1316,10 @@ void init_TE(void)
PyMac_INIT_TOOLBOX_OBJECT_NEW(TEHandle, TEObj_New);
PyMac_INIT_TOOLBOX_OBJECT_CONVERT(TEHandle, TEObj_Convert);
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
m = Py_InitModule("_TE", TE_methods);
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
d = PyModule_GetDict(m);
TE_Error = PyMac_GetOSErrException();
if (TE_Error == NULL ||
@ -1332,7 +1332,7 @@ void init_TE(void)
/* Backward-compatible name */
Py_INCREF(&TE_Type);
PyModule_AddObject(m, "TEType", (PyObject *)&TE_Type);
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
}
/* ========================= End module _TE ========================= */

View File

@ -2,11 +2,11 @@
/* ========================== Module _Win =========================== */
#include "Python.h"
#ifndef __LP64__
#include "pymactoolbox.h"
#if APPLE_SUPPORTS_QUICKTIME
/* Macro to test whether a weak-loaded CFM function exists */
#define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\
PyErr_SetString(PyExc_NotImplementedError, \
@ -3147,10 +3147,10 @@ static PyObject *Win_FindWindow(PyObject *_self, PyObject *_args)
WinObj_WhichWindow, theWindow);
return _res;
}
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
static PyMethodDef Win_methods[] = {
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
{"GetNewCWindow", (PyCFunction)Win_GetNewCWindow, 1,
PyDoc_STR("(short windowID, WindowPtr behind) -> (WindowPtr _rv)")},
{"NewWindow", (PyCFunction)Win_NewWindow, 1,
@ -3202,12 +3202,12 @@ static PyMethodDef Win_methods[] = {
{"FindWindow", (PyCFunction)Win_FindWindow, 1,
PyDoc_STR("(Point thePoint) -> (short _rv, WindowPtr theWindow)")},
{NULL, NULL, 0}
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
};
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
/* Return the object corresponding to the window, or NULL */
PyObject *
@ -3230,22 +3230,22 @@ WinObj_WhichWindow(WindowPtr w)
return it;
}
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
void init_Win(void)
{
PyObject *m;
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
PyObject *d;
PyMac_INIT_TOOLBOX_OBJECT_NEW(WindowPtr, WinObj_New);
PyMac_INIT_TOOLBOX_OBJECT_NEW(WindowPtr, WinObj_WhichWindow);
PyMac_INIT_TOOLBOX_OBJECT_CONVERT(WindowPtr, WinObj_Convert);
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
m = Py_InitModule("_Win", Win_methods);
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
d = PyModule_GetDict(m);
Win_Error = PyMac_GetOSErrException();
if (Win_Error == NULL ||
@ -3258,7 +3258,7 @@ void init_Win(void)
/* Backward-compatible name */
Py_INCREF(&Window_Type);
PyModule_AddObject(m, "WindowType", (PyObject *)&Window_Type);
#endif /* __LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
}
/* ======================== End module _Win ========================= */

View File

@ -201,6 +201,9 @@ Build
- Issue #10910: Avoid C++ compilation errors on FreeBSD and OS X.
Also update FreedBSD version checks for the original ctype UTF-8 workaround.
- Issue #27806: Fix 32-bit builds on macOS Sierra 10.12 broken by removal of
deprecated QuickTime/QuickTime.h header file. Patch by sashk.
Tools/Demos
-----------

View File

@ -106,7 +106,7 @@ PyMac_Error(OSErr err)
}
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
OSErr
PyMac_GetFullPathname(FSSpec *fss, char *path, int len)
{
@ -154,7 +154,7 @@ PyMac_GetFullPathname(FSSpec *fss, char *path, int len)
Py_XDECREF(fs);
return err;
}
#endif /* !__LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
/* Convert a 4-char string object argument to an OSType value */
int
@ -419,7 +419,7 @@ GLUE_CONVERT(RGBColor, QdRGB_Convert, "Carbon.Qd")
GLUE_NEW(GWorldPtr, GWorldObj_New, "Carbon.Qdoffs")
GLUE_CONVERT(GWorldPtr, GWorldObj_Convert, "Carbon.Qdoffs")
#ifndef __LP64__
#if APPLE_SUPPORTS_QUICKTIME
GLUE_NEW(Track, TrackObj_New, "Carbon.Qt")
GLUE_CONVERT(Track, TrackObj_Convert, "Carbon.Qt")
GLUE_NEW(Movie, MovieObj_New, "Carbon.Qt")
@ -432,7 +432,7 @@ GLUE_NEW(UserData, UserDataObj_New, "Carbon.Qt")
GLUE_CONVERT(UserData, UserDataObj_Convert, "Carbon.Qt")
GLUE_NEW(Media, MediaObj_New, "Carbon.Qt")
GLUE_CONVERT(Media, MediaObj_Convert, "Carbon.Qt")
#endif /* !__LP64__ */
#endif /* APPLE_SUPPORTS_QUICKTIME */
GLUE_NEW(Handle, ResObj_New, "Carbon.Res")
GLUE_CONVERT(Handle, ResObj_Convert, "Carbon.Res")