Skip to content

Commit 267e13d

Browse files
authored
refactor: Unify COM descriptor release logic in ITypeComp.Bind. (#910)
1 parent ce14575 commit 267e13d

1 file changed

Lines changed: 2 additions & 8 deletions

File tree

comtypes/typeinfo.py

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -445,16 +445,10 @@ def Bind(
445445
)
446446
kind = desckind.value
447447
if kind == DESCKIND_FUNCDESC:
448-
fd = bindptr.lpfuncdesc[0]
449-
fd.__ref__ = weakref.ref(
450-
fd, lambda dead: ti.ReleaseFuncDesc(bindptr.lpfuncdesc)
451-
)
448+
fd = _deref_with_release(bindptr.lpfuncdesc, ti.ReleaseFuncDesc)
452449
return "function", fd
453450
elif kind == DESCKIND_VARDESC:
454-
vd = bindptr.lpvardesc[0]
455-
vd.__ref__ = weakref.ref(
456-
vd, lambda dead: ti.ReleaseVarDesc(bindptr.lpvardesc)
457-
)
451+
vd = _deref_with_release(bindptr.lpvardesc, ti.ReleaseVarDesc)
458452
return "variable", vd
459453
elif kind == DESCKIND_TYPECOMP:
460454
return "type", bindptr.lptcomp

0 commit comments

Comments
 (0)