[pywin32-checkins] pywin32/com/win32com/client genpy.py,1.46,1.47
OLD project page for the Python extensions for Windows
Brought to you by:
mhammond
From: Mark H. <mha...@us...> - 2005-06-27 12:40:15
|
Update of /cvsroot/pywin32/pywin32/com/win32com/client In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26448/client Modified Files: genpy.py Log Message: Fix [ 1202308 ] genpy.py doesn't catch all dispatchable interfaces. Index: genpy.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/client/genpy.py,v retrieving revision 1.46 retrieving revision 1.47 diff -C2 -d -r1.46 -r1.47 *** genpy.py 12 Apr 2005 04:27:08 -0000 1.46 --- genpy.py 27 Jun 2005 12:40:05 -0000 1.47 *************** *** 24,28 **** error = "makepy.error" ! makepy_version = "0.4.93" # Written to generated file. GEN_FULL="full" --- 24,28 ---- error = "makepy.error" ! makepy_version = "0.4.94" # Written to generated file. GEN_FULL="full" *************** *** 678,682 **** for info, info_type, refType, doc, refAttr, flags in coclass_info: # sys.stderr.write("Attr typeflags for coclass referenced object %s=%d (%d), typekind=%d\n" % (name, refAttr.wTypeFlags, refAttr.wTypeFlags & pythoncom.TYPEFLAG_FDUAL,refAttr.typekind)) ! if refAttr.typekind == pythoncom.TKIND_DISPATCH: clsid = refAttr[0] if oleItems.has_key(clsid): --- 678,683 ---- for info, info_type, refType, doc, refAttr, flags in coclass_info: # sys.stderr.write("Attr typeflags for coclass referenced object %s=%d (%d), typekind=%d\n" % (name, refAttr.wTypeFlags, refAttr.wTypeFlags & pythoncom.TYPEFLAG_FDUAL,refAttr.typekind)) ! if refAttr.typekind == pythoncom.TKIND_DISPATCH or \ ! (refAttr.typekind == pythoncom.TKIND_INTERFACE and refAttr[11] & pythoncom.TYPEFLAG_FDISPATCHABLE): clsid = refAttr[0] if oleItems.has_key(clsid): *************** *** 704,712 **** info, infotype, doc, attr = type_info_tuple oleItem = vtableItem = None ! if infotype == pythoncom.TKIND_DISPATCH: oleItem = DispatchItem(info, attr, doc) # If this DISPATCH interface dual, then build that too. if (attr.wTypeFlags & pythoncom.TYPEFLAG_FDUAL): - # sys.stderr.write("interface " + doc[0] + " is not dual\n"); # Get the vtable interface refhtype = info.GetRefTypeOfImplType(-1) --- 705,713 ---- info, infotype, doc, attr = type_info_tuple oleItem = vtableItem = None ! if infotype == pythoncom.TKIND_DISPATCH or \ ! (infotype == pythoncom.TKIND_INTERFACE and attr[11] & pythoncom.TYPEFLAG_FDISPATCHABLE): oleItem = DispatchItem(info, attr, doc) # If this DISPATCH interface dual, then build that too. if (attr.wTypeFlags & pythoncom.TYPEFLAG_FDUAL): # Get the vtable interface refhtype = info.GetRefTypeOfImplType(-1) |