From d00eb5d1123594c4479329e485689bb30598c2ed Mon Sep 17 00:00:00 2001
From: Yann Leboulanger <asterix@lagaule.org>
Date: Sun, 16 Oct 2011 11:14:40 +0200
Subject: [PATCH] prevent traceback when obj.msg_id is not set

---
 src/session.py | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/src/session.py b/src/session.py
index 10eb27b9a..b5bad4b8e 100644
--- a/src/session.py
+++ b/src/session.py
@@ -73,7 +73,7 @@ class ChatControlSession(stanza_session.EncryptedStanzaSession):
             if self.control and self.control.resource:
                 self.control.change_resource(self.resource)
 
-        msg_id = None
+        obj.msg_id = None
 
         if obj.mtype == 'chat':
             if not obj.stanza.getTag('body') and obj.chatstate is None:
@@ -89,7 +89,7 @@ class ChatControlSession(stanza_session.EncryptedStanzaSession):
                     msg_to_log = obj.xhtml
                 else:
                     msg_to_log = obj.msgtxt
-                msg_id = gajim.logger.write(log_type, obj.fjid,
+                obj.msg_id = gajim.logger.write(log_type, obj.fjid,
                     msg_to_log, tim=obj.timestamp, subject=obj.subject)
             except exceptions.PysqliteOperationalError, e:
                 self.conn.dispatch('ERROR', (_('Disk WriteError'), str(e)))
@@ -101,8 +101,6 @@ class ChatControlSession(stanza_session.EncryptedStanzaSession):
                     common.logger.LOG_DB_PATH
                 self.conn.dispatch('ERROR', (pritext, sectext))
 
-        obj.msg_id = msg_id
-
         treat_as = gajim.config.get('treat_incoming_messages')
         if treat_as:
             obj.mtype = treat_as
@@ -132,8 +130,8 @@ class ChatControlSession(stanza_session.EncryptedStanzaSession):
                 # Brand new message, incoming.
                 contact.our_chatstate = obj.chatstate
                 contact.chatstate = obj.chatstate
-                if msg_id: # Do not overwrite an existing msg_id with None
-                    contact.msg_id = msg_id
+                if obj.msg_id: # Do not overwrite an existing msg_id with None
+                    contact.msg_id = obj.msg_id
 
         # THIS MUST BE AFTER chatstates handling
         # AND BEFORE playsound (else we ear sounding on chatstates!)
@@ -166,8 +164,8 @@ class ChatControlSession(stanza_session.EncryptedStanzaSession):
         if gajim.interface.remote_ctrl:
             gajim.interface.remote_ctrl.raise_signal('NewMessage', (
                 self.conn.name, [obj.fjid, obj.msgtxt, obj.timestamp,
-                obj.encrypted, obj.mtype, obj.subject, obj.chatstate, msg_id,
-                obj.user_nick, obj.xhtml, obj.form_node]))
+                obj.encrypted, obj.mtype, obj.subject, obj.chatstate,
+                obj.msg_id, obj.user_nick, obj.xhtml, obj.form_node]))
 
     def roster_message2(self, obj):
         """
-- 
GitLab