summaryrefslogtreecommitdiff
path: root/mpv.py
diff options
context:
space:
mode:
Diffstat (limited to 'mpv.py')
-rw-r--r--mpv.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/mpv.py b/mpv.py
index 600e7c6..0782cec 100644
--- a/mpv.py
+++ b/mpv.py
@@ -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)