about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/event/server_events.c6
-rw-r--r--src/ui/core.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/src/event/server_events.c b/src/event/server_events.c
index d1300f91..8fc32d4e 100644
--- a/src/event/server_events.c
+++ b/src/event/server_events.c
@@ -545,6 +545,12 @@ sv_ev_contact_offline(char *barejid, char *resource, char *status)
         ui_contact_offline(barejid, resource, status);
     }
 
+    ProfChatWin *chatwin = wins_get_chat(barejid);
+    if (chatwin && otr_is_secure(barejid)) {
+        chatwin_otr_unsecured(chatwin);
+        otr_end_session(chatwin->barejid);
+    }
+
     rosterwin_roster();
     chat_session_remove(barejid);
 }
diff --git a/src/ui/core.c b/src/ui/core.c
index 362a1ac8..a4e5814a 100644
--- a/src/ui/core.c
+++ b/src/ui/core.c
@@ -992,7 +992,7 @@ ui_contact_offline(char *barejid, char *resource, char *status)
                     chatwin_contact_offline(chatwin, resource, status);
                 }
 
-            // show in char win if "online" and presence online
+            // show in chat win if "online" and presence online
             } else if (g_strcmp0(show_chat_win, "online") == 0) {
                 ProfChatWin *chatwin = wins_get_chat(barejid);
                 if (chatwin) {