summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xpoezio/theming.py2
-rw-r--r--poezio/windows/muc.py5
2 files changed, 5 insertions, 2 deletions
diff --git a/poezio/theming.py b/poezio/theming.py
index 5b2546d7..0ead632e 100755
--- a/poezio/theming.py
+++ b/poezio/theming.py
@@ -69,6 +69,7 @@ log = logging.getLogger(__name__)
from poezio.config import config
import curses
+import functools
import os
from os import path
@@ -403,6 +404,7 @@ def read_tuple(_str):
char = attrs[2] if len(attrs) > 2 else '\0'
return (int(attrs[0]), int(attrs[1])), char
+@functools.lru_cache(maxsize=128)
def to_curses_attr(color_tuple):
"""
Takes a color tuple (as defined at the top of this file) and
diff --git a/poezio/windows/muc.py b/poezio/windows/muc.py
index 8b72d24c..3e78bfb3 100644
--- a/poezio/windows/muc.py
+++ b/poezio/windows/muc.py
@@ -47,10 +47,11 @@ class UserList(Win):
self.cache = new
self.refresh(users)
return
- for i in range(len(old)):
- if old[i] != new[i]:
+ for a, b in zip(old, new):
+ if a != b:
self.cache = new
self.refresh(users)
+ return
def refresh(self, users):
log.debug('Refresh: %s', self.__class__.__name__)