Fix unobserve_property RuntimeError

This commit is contained in:
Matt Deacalion Stevens 2017-05-21 10:58:36 +01:00
parent 5ca3a0250c
commit b1f81ac561
No known key found for this signature in database
GPG key ID: 99263B3169B149E8
2 changed files with 36 additions and 2 deletions

11
mpv.py
View file

@ -681,8 +681,15 @@ class MPV(object):
fmts = self._property_handlers[name]
for fmt, handlers in fmts.items():
handlers.remove(handler)
if not handlers:
del fmts[fmt]
# remove all properties that have no handlers
empty_props = [
fmt for fmt, handler in fmts.items() if not handler
]
for fmt in empty_props:
del fmts[fmt]
if not fmts:
_mpv_unobserve_property(self._event_handle, hash(name)&0xffffffffffffffff)