@@ -333,7 +333,7 @@ log_database_get_previous_chat(const gchar* const contact_barejid, const char* s
333333 auto_gchar gchar * end_date_fmt = end_time ? end_time : g_date_time_format_iso8601 (now );
334334 auto_sqlite gchar * query = sqlite3_mprintf ("SELECT * FROM ("
335335 "SELECT COALESCE(B.`message`, A.`message`) AS message, "
336- "A.`timestamp`, A.`from_jid`, A.`to_jid`, A.`type`, A.`encryption`, A.`stanza_id` FROM `ChatLogs` AS A "
336+ "A.`timestamp`, A.`from_jid`, A.`from_resource`, A.` to_jid`, A.`to_resource `, A.`type`, A.`encryption`, A.`stanza_id` FROM `ChatLogs` AS A "
337337 "LEFT JOIN `ChatLogs` AS B ON (A.`replaced_by_db_id` = B.`id` AND A.`from_jid` = B.`from_jid`) "
338338 "WHERE (A.`replaces_db_id` IS NULL) "
339339 "AND ((A.`from_jid` = %Q AND A.`to_jid` = %Q) OR (A.`from_jid` = %Q AND A.`to_jid` = %Q)) "
@@ -361,16 +361,18 @@ log_database_get_previous_chat(const gchar* const contact_barejid, const char* s
361361 while (sqlite3_step (stmt ) == SQLITE_ROW ) {
362362 char * message = (char * )sqlite3_column_text (stmt , 0 );
363363 char * date = (char * )sqlite3_column_text (stmt , 1 );
364- char * from = (char * )sqlite3_column_text (stmt , 2 );
365- char * to_jid = (char * )sqlite3_column_text (stmt , 3 );
366- char * type = (char * )sqlite3_column_text (stmt , 4 );
367- char * encryption = (char * )sqlite3_column_text (stmt , 5 );
368- char * id = (char * )sqlite3_column_text (stmt , 6 );
364+ char * from_jid = (char * )sqlite3_column_text (stmt , 2 );
365+ char * from_resource = (char * )sqlite3_column_text (stmt , 3 );
366+ char * to_jid = (char * )sqlite3_column_text (stmt , 4 );
367+ char * to_resource = (char * )sqlite3_column_text (stmt , 5 );
368+ char * type = (char * )sqlite3_column_text (stmt , 6 );
369+ char * encryption = (char * )sqlite3_column_text (stmt , 7 );
370+ char * id = (char * )sqlite3_column_text (stmt , 8 );
369371
370372 ProfMessage * msg = message_init ();
371373 msg -> id = id ? strdup (id ) : NULL ;
372- msg -> from_jid = jid_create ( from );
373- msg -> to_jid = jid_create (to_jid );
374+ msg -> from_jid = jid_create_from_bare_and_resource ( from_jid , from_resource );
375+ msg -> to_jid = jid_create_from_bare_and_resource (to_jid , to_resource );
374376 msg -> plain = strdup (message ?: "" );
375377 msg -> timestamp = g_date_time_new_from_iso8601 (date , NULL );
376378 msg -> type = _get_message_type_type (type );
0 commit comments