diff options
author | Philipp Hörist <philipp@hoerist.com> | 2022-10-08 17:32:13 +0300 |
---|---|---|
committer | Philipp Hörist <philipp@hoerist.com> | 2022-10-08 17:32:13 +0300 |
commit | 742352807960c05cc6d30dea616ef7b8ccd11390 (patch) | |
tree | 072ec6c453a530993f3c728fa646c36693378ca0 | |
parent | 9abfda2a5eb1367e55c0ae6cb68e7b0c36e432ce (diff) |
fix: Control: Load events before messages
Fixes #11129
-rw-r--r-- | gajim/gtk/control.py | 38 |
1 files changed, 17 insertions, 21 deletions
diff --git a/gajim/gtk/control.py b/gajim/gtk/control.py index 56193087b..651962578 100644 --- a/gajim/gtk/control.py +++ b/gajim/gtk/control.py @@ -581,27 +581,6 @@ class ChatControl(EventHelper): else: timestamp = row.db_timestamp - messages = app.storage.archive.get_conversation_before_after( - self.contact.account, - self.contact.jid, - before, - timestamp, - n_lines) - - if not messages: - self._scrolled_view.set_history_complete(before, True) - self._scrolled_view.block_signals(False) - return - - self.add_messages(messages) - - if len(messages) < n_lines: - self._scrolled_view.set_history_complete(before, True) - - # if self._scrolled_view.get_autoscroll(): - # if self._scrolled_view.reduce_message_count(before): - # self._scrolled_view.set_history_complete(before, False) - assert self._contact is not None for event in app.storage.events.load(self._contact, before, timestamp): if isinstance(event, events.MUCUserJoined): @@ -639,6 +618,23 @@ class ChatControl(EventHelper): else: raise ValueError('Unknown event: %s' % event) + messages = app.storage.archive.get_conversation_before_after( + self.contact.account, + self.contact.jid, + before, + timestamp, + n_lines) + + if not messages: + self._scrolled_view.set_history_complete(before, True) + self._scrolled_view.block_signals(False) + return + + self.add_messages(messages) + + if len(messages) < n_lines: + self._scrolled_view.set_history_complete(before, True) + self._scrolled_view.block_signals(False) def add_messages(self, messages: list[ConversationRow]): |