mirror of
https://github.com/powerline/powerline.git
synced 2025-07-25 23:05:32 +02:00
Add after_update argument to prevent infinite recursion
Just in case.
This commit is contained in:
parent
e1eecea36d
commit
c08346000b
@ -157,7 +157,7 @@ class KwThreadedSegment(ThreadedSegment):
|
|||||||
def key(**kwargs):
|
def key(**kwargs):
|
||||||
return frozenset(kwargs.items())
|
return frozenset(kwargs.items())
|
||||||
|
|
||||||
def render(self, update_value, update_first, key=None, **kwargs):
|
def render(self, update_value, update_first, key=None, after_update=False, **kwargs):
|
||||||
queries, crashed = update_value
|
queries, crashed = update_value
|
||||||
if key is None:
|
if key is None:
|
||||||
key = self.key(**kwargs)
|
key = self.key(**kwargs)
|
||||||
@ -170,7 +170,17 @@ class KwThreadedSegment(ThreadedSegment):
|
|||||||
with self.write_lock:
|
with self.write_lock:
|
||||||
self.new_queries.append(key)
|
self.new_queries.append(key)
|
||||||
if self.do_update_first or self.run_once:
|
if self.do_update_first or self.run_once:
|
||||||
return self.render(update_value=self.get_update_value(True), update_first=False, key=key, **kwargs)
|
if after_update:
|
||||||
|
self.error('internal error: value was not computed even though update_first was set')
|
||||||
|
update_state = None
|
||||||
|
else:
|
||||||
|
return self.render(
|
||||||
|
update_value=self.get_update_value(True),
|
||||||
|
update_first=False,
|
||||||
|
key=key,
|
||||||
|
after_update=True,
|
||||||
|
**kwargs
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
update_state = None
|
update_state = None
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user