Skip to content

Commit 143be03

Browse files
committed
Fixed issue with delays, repeats and menus caused by fix for issue #191
1 parent e38378a commit 143be03

File tree

1 file changed

+4
-13
lines changed
  • addons/source-python/packages/source-python/listeners

1 file changed

+4
-13
lines changed

addons/source-python/packages/source-python/listeners/tick.py

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,10 @@ def _tick(self):
6868
class _DelayManager(list):
6969
"""A class that is responsible for executing delays."""
7070

71+
def __init__(self):
72+
super().__init__()
73+
on_tick_listener_manager.register_listener(self._tick)
74+
7175
def _tick(self):
7276
"""Internal tick listener."""
7377
current_time = time.time()
@@ -77,25 +81,12 @@ def _tick(self):
7781
except:
7882
except_hooks.print_exception()
7983

80-
self._unregister_if_empty()
81-
82-
def _register_if_empty(self):
83-
"""Register the internal tick listener if the list is empty."""
84-
if not self:
85-
on_tick_listener_manager.register_listener(self._tick)
86-
87-
def _unregister_if_empty(self):
88-
"""Unregister the internal tick listener if the list is empty."""
89-
if not self:
90-
on_tick_listener_manager.unregister_listener(self._tick)
91-
9284
def add(self, delay):
9385
"""Add a delay to the list.
9486
9587
:param Delay delay:
9688
The delay to add.
9789
"""
98-
self._register_if_empty()
9990
bisect.insort_left(self, delay)
10091

10192
_delay_manager = _DelayManager()

0 commit comments

Comments
 (0)