changeset 90dac6b3e04f in /home/hg/repos/gajim
author: Yann Leboulanger asterix@lagaule.org branches: gajim_0.16 details:http://hg.gajim.org/gajim?cmd=changeset;node=90dac6b3e04f 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 2963918706a4 -r 90dac6b3e04f 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 @@ -939,7 +939,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] @@ -3076,7 +3076,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 2963918706a4 -r 90dac6b3e04f 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 2963918706a4 -r 90dac6b3e04f 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,