changeset ad4236d5a427 in /home/hg/repos/gajim
author: Yann Leboulanger asterix@lagaule.org branches: details:http://hg.gajim.org/gajim?cmd=changeset;node=ad4236d5a427 description: handle message correction correctly even if we don't print the message instantly in a chat window. Fixes #8220
diffstat:
src/chat_control.py | 5 +++-- src/common/events.py | 5 +++-- src/session.py | 3 ++- 3 files changed, 8 insertions(+), 5 deletions(-)
diffs (57 lines):
diff -r 5c6c77423355 -r ad4236d5a427 src/chat_control.py --- a/src/chat_control.py Mon Feb 29 21:04:08 2016 +0100 +++ b/src/chat_control.py Mon Feb 29 21:29:20 2016 +0100 @@ -881,7 +881,7 @@
if not count_as_new: return - if kind in ('incoming', 'outgoing'): + if kind in ('incoming', 'incoming_queue', 'outgoing'): self.last_received_txt[name] = text if correct_id: self.last_received_id[name] = correct_id[0] @@ -3022,7 +3022,8 @@ kind = 'out' self.print_conversation(event.message, kind, tim=event.time, encrypted=event.encrypted, subject=event.subject, - xhtml=event.xhtml, displaymarking=event.displaymarking) + xhtml=event.xhtml, displaymarking=event.displaymarking, + correct_id=event.correct_id) if isinstance(event.msg_log_id, int): message_ids.append(event.msg_log_id)
diff -r 5c6c77423355 -r ad4236d5a427 src/common/events.py --- a/src/common/events.py Mon Feb 29 21:04:08 2016 +0100 +++ b/src/common/events.py Mon Feb 29 21:29:20 2016 +0100 @@ -65,8 +65,8 @@ class ChatEvent(Event): type_ = 'chat' def __init__ (self, message, subject, kind, time, encrypted, resource, - msg_log_id=None, xhtml=None, session=None, form_node=None, displaymarking=None, - sent_forwarded=False, time_=None, show_in_roster=False, + msg_log_id, correct_id=None, xhtml=None, session=None, form_node=None, + displaymarking=None, sent_forwarded=False, time_=None, show_in_roster=False, show_in_systray=True): Event.__init__(self, time_, show_in_roster=show_in_roster, show_in_systray=show_in_systray) @@ -77,6 +77,7 @@ self.encrypted = encrypted self.resource = resource self.msg_log_id = msg_log_id + self.correct_id = correct_id self.xhtml = xhtml self.session = session self.form_node = form_node diff -r 5c6c77423355 -r ad4236d5a427 src/session.py --- a/src/session.py Mon Feb 29 21:04:08 2016 +0100 +++ b/src/session.py Mon Feb 29 21:29:20 2016 +0100 @@ -255,7 +255,8 @@ if (not self.control and obj.mtype != 'normal') or \ (obj.mtype == 'normal' and not obj.popup): event = event_t(obj.msgtxt, obj.subject, obj.mtype, obj.timestamp, - obj.encrypted, obj.resource, obj.msg_log_id, xhtml=obj.xhtml, + obj.encrypted, obj.resource, obj.msg_log_id, + correct_id=(obj.id_, obj.correct_id), xhtml=obj.xhtml, session=self, form_node=obj.form_node, displaymarking=obj.displaymarking, sent_forwarded=obj.forwarded and obj.sent,