diff options
author | Jack Jansen <jack.jansen@cwi.nl> | 2001-06-20 21:20:22 (GMT) |
---|---|---|
committer | Jack Jansen <jack.jansen@cwi.nl> | 2001-06-20 21:20:22 (GMT) |
commit | 4edc5eb6396fb962ed0827df5ab24cb3b8a7598f (patch) | |
tree | 492f5e0838a21b0ad100432007ce73454150ef59 /Mac/Modules/win | |
parent | c65218e1fd084f486b4ce87419e0f18146f2b1a1 (diff) | |
download | cpython-4edc5eb6396fb962ed0827df5ab24cb3b8a7598f.zip cpython-4edc5eb6396fb962ed0827df5ab24cb3b8a7598f.tar.gz cpython-4edc5eb6396fb962ed0827df5ab24cb3b8a7598f.tar.bz2 |
Reversed the order of the checks for None or a Dialog where a Window is expected so it doesn't crash under OSX/Mach-o.
Diffstat (limited to 'Mac/Modules/win')
-rw-r--r-- | Mac/Modules/win/Winmodule.c | 15 | ||||
-rw-r--r-- | Mac/Modules/win/winsupport.py | 15 |
2 files changed, 8 insertions, 22 deletions
diff --git a/Mac/Modules/win/Winmodule.c b/Mac/Modules/win/Winmodule.c index 639844a..d807251 100644 --- a/Mac/Modules/win/Winmodule.c +++ b/Mac/Modules/win/Winmodule.c @@ -76,7 +76,10 @@ PyObject *WinObj_New(WindowPtr itself) } WinObj_Convert(PyObject *v, WindowPtr *p_itself) { -#if 1 + + if (v == Py_None) { *p_itself = NULL; return 1; } + if (PyInt_Check(v)) { *p_itself = (WindowPtr)PyInt_AsLong(v); return 1; } + { DialogRef dlg; if (DlgObj_Convert(v, &dlg) && dlg) { @@ -85,16 +88,6 @@ WinObj_Convert(PyObject *v, WindowPtr *p_itself) } PyErr_Clear(); } -#else - if (DlgObj_Check(v)) { - *p_itself = DlgObj_ConvertToWindow(v); - return 1; - } -#endif - - if (v == Py_None) { *p_itself = NULL; return 1; } - if (PyInt_Check(v)) { *p_itself = (WindowPtr)PyInt_AsLong(v); return 1; } - if (!WinObj_Check(v)) { PyErr_SetString(PyExc_TypeError, "Window required"); diff --git a/Mac/Modules/win/winsupport.py b/Mac/Modules/win/winsupport.py index 92d1f47..cc1c312 100644 --- a/Mac/Modules/win/winsupport.py +++ b/Mac/Modules/win/winsupport.py @@ -137,7 +137,10 @@ class MyObjectDefinition(GlobalObjectDefinition): Output("it->ob_freeit = PyMac_AutoDisposeWindow;") OutRbrace() def outputCheckConvertArg(self): - Output("#if 1") + Out(""" + if (v == Py_None) { *p_itself = NULL; return 1; } + if (PyInt_Check(v)) { *p_itself = (WindowPtr)PyInt_AsLong(v); return 1; } + """) OutLbrace() Output("DialogRef dlg;") OutLbrace("if (DlgObj_Convert(v, &dlg) && dlg)") @@ -146,16 +149,6 @@ class MyObjectDefinition(GlobalObjectDefinition): OutRbrace() Output("PyErr_Clear();") OutRbrace() - Output("#else") - OutLbrace("if (DlgObj_Check(v))") - Output("*p_itself = DlgObj_ConvertToWindow(v);") - Output("return 1;") - OutRbrace() - Output("#endif") - Out(""" - if (v == Py_None) { *p_itself = NULL; return 1; } - if (PyInt_Check(v)) { *p_itself = (WindowPtr)PyInt_AsLong(v); return 1; } - """) def outputCleanupStructMembers(self): Output("if (self->ob_freeit && self->ob_itself)") OutLbrace() |