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

Skip to content

Commit 91a6398

Browse files
committed
Use ResObj_OptNew for GetDialogItem return value: the handle returned
may be NULL (for user items, for instance).
1 parent 9f37c6d commit 91a6398

2 files changed

Lines changed: 10 additions & 0 deletions

File tree

Mac/Modules/dlg/dlgscan.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,10 @@ def makerepairinstructions(self):
6363
([("void", "*", "OutMode"), ("long", "*", "InMode"),
6464
("long", "*", "OutMode")],
6565
[("VarVarOutBuffer", "*", "InOutMode")]),
66+
67+
# GetDialogItem return handle is optional
68+
([("Handle", "item", "OutMode")],
69+
[("OptHandle", "item", "OutMode")]),
6670

6771
# NewDialog ETC.
6872
([("void", "*", "OutMode")],

Mac/Modules/dlg/dlgsupport.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@
1313
DialogPtr = OpaqueByValueType("DialogPtr", "DlgObj")
1414
DialogRef = DialogPtr
1515

16+
# XXXX There must be a more elegant way to do this. An OptHandle is
17+
# either a handle or None (in case NULL is passed in). This is needed
18+
# for GetDialogItem().
19+
OptHandle = OpaqueByValueType("Handle", "ResObj")
20+
OptHandle.new = "ResObj_OptNew"
21+
1622
ModalFilterProcPtr = InputOnlyType("PyObject*", "O")
1723
ModalFilterProcPtr.passInput = lambda name: "NewModalFilterProc(Dlg_PassFilterProc(%s))" % name
1824
ModalFilterUPP = ModalFilterProcPtr

0 commit comments

Comments
 (0)