Kaydet (Commit) dc2ac8d3 authored tarafından Jack Jansen's avatar Jack Jansen

Accept Dialogs and Windows where Grafports are expected (such as in SetPort) and…

Accept Dialogs and Windows where Grafports are expected (such as in SetPort) and do a MacOSX compatible cast. Bit of a hack, but good enough for now.
üst 340eb88f
......@@ -144,8 +144,14 @@ GrafObj_Convert(v, p_itself)
PyObject *v;
GrafPtr *p_itself;
{
if (DlgObj_Check(v) || WinObj_Check(v)) {
*p_itself = ((GrafPortObject *)v)->ob_itself;
if (DlgObj_Check(v)) {
DialogRef dlg = (DialogRef)((GrafPortObject *)v)->ob_itself;
*p_itself = (GrafPtr)GetWindowPort(GetDialogWindow(dlg));
return 1;
}
if (WinObj_Check(v)) {
WindowRef win = (WindowRef)((GrafPortObject *)v)->ob_itself;
*p_itself = (GrafPtr)GetWindowPort(win);
return 1;
}
if (!GrafObj_Check(v))
......
......@@ -219,8 +219,14 @@ class MyGRObjectDefinition(GlobalObjectDefinition):
def outputCheckNewArg(self):
Output("if (itself == NULL) return PyMac_Error(resNotFound);")
def outputCheckConvertArg(self):
OutLbrace("if (DlgObj_Check(v) || WinObj_Check(v))")
Output("*p_itself = ((GrafPortObject *)v)->ob_itself;")
OutLbrace("if (DlgObj_Check(v))")
Output("DialogRef dlg = (DialogRef)((GrafPortObject *)v)->ob_itself;")
Output("*p_itself = (GrafPtr)GetWindowPort(GetDialogWindow(dlg));")
Output("return 1;")
OutRbrace()
OutLbrace("if (WinObj_Check(v))")
Output("WindowRef win = (WindowRef)((GrafPortObject *)v)->ob_itself;")
Output("*p_itself = (GrafPtr)GetWindowPort(win);")
Output("return 1;")
OutRbrace()
def outputGetattrHook(self):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment