summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Roden-Corrent <ryan@rcorre.net>2019-04-29 07:19:15 -0400
committerFlorian Bruhin <me@the-compiler.org>2019-04-29 13:45:16 +0200
commite75d7ba5b03699dae20b2e0cde2ead55e6cbb31b (patch)
treec108c1d7afa945516ca3ee91558c3a6dd5137372
parent32a2647942409aba027ccdaf5e6ca0f87fd66c1a (diff)
downloadqutebrowser-e75d7ba5b03699dae20b2e0cde2ead55e6cbb31b.tar.gz
qutebrowser-e75d7ba5b03699dae20b2e0cde2ead55e6cbb31b.zip
Prevent keyhint timer from eating all CPU.
By default, timers are not single-shot, which means they will keep firing every `interval` seconds after being started. This is unnecessary for the keyhint timer, and causes it to eat ~100% CPU with keyhint.delay=0. Fixes #4742.
-rw-r--r--qutebrowser/misc/keyhintwidget.py1
1 files changed, 1 insertions, 0 deletions
diff --git a/qutebrowser/misc/keyhintwidget.py b/qutebrowser/misc/keyhintwidget.py
index 7c23b230c..4b2c5d685 100644
--- a/qutebrowser/misc/keyhintwidget.py
+++ b/qutebrowser/misc/keyhintwidget.py
@@ -71,6 +71,7 @@ class KeyHintView(QLabel):
self.hide()
self._show_timer = usertypes.Timer(self, 'keyhint_show')
self._show_timer.timeout.connect(self.show)
+ self._show_timer.setSingleShot(True)
config.set_register_stylesheet(self)
def __repr__(self):