about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorPaul Fariello <paul@fariello.eu>2019-03-15 07:28:21 +0140
committerPaul Fariello <paul@fariello.eu>2019-04-10 17:12:31 +0200
commit21f247d0eb67b90e0e012575c758b0f663d3b292 (patch)
tree3de10b227e5fb4faf36b941403384cfaf8f313b6 /src
parenta3897abba1e093aeab2b46bccded87485e518bb1 (diff)
downloadprofani-tty-21f247d0eb67b90e0e012575c758b0f663d3b292.tar.gz
Handle window type MUC in OMEMO start command
Diffstat (limited to 'src')
-rw-r--r--src/command/cmd_funcs.c38
1 files changed, 20 insertions, 18 deletions
diff --git a/src/command/cmd_funcs.c b/src/command/cmd_funcs.c
index 01690867..f094be48 100644
--- a/src/command/cmd_funcs.c
+++ b/src/command/cmd_funcs.c
@@ -7952,30 +7952,32 @@ cmd_omemo_start(ProfWin *window, const char *const command, gchar **args)
         omemo_start_session(barejid);
         chatwin->is_omemo = TRUE;
     } else {
-        if (window->type != WIN_CHAT) {
-            win_println(window, THEME_DEFAULT, '-', "You must be in a regular chat window to start an OMEMO session.");
-            return TRUE;
-        }
+        if (window->type == WIN_CHAT) {
+            ProfChatWin *chatwin = (ProfChatWin*)window;
+            assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK);
+            if (chatwin->pgp_send) {
+                win_println(window, THEME_DEFAULT, '!', "You must disable PGP encryption before starting an OMEMO session.");
+                return TRUE;
+            }
 
-        ProfChatWin *chatwin = (ProfChatWin*)window;
-        assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK);
-        if (chatwin->pgp_send) {
-            win_println(window, THEME_DEFAULT, '!', "You must disable PGP encryption before starting an OMEMO session.");
-            return TRUE;
-        }
+            if (chatwin->is_otr) {
+                win_println(window, THEME_DEFAULT, '!', "You must disable OTR encryption before starting an OMEMO session.");
+                return TRUE;
+            }
 
-        if (chatwin->is_otr) {
-            win_println(window, THEME_DEFAULT, '!', "You must disable OTR encryption before starting an OMEMO session.");
-            return TRUE;
-        }
+            if (chatwin->is_omemo) {
+                win_println(window, THEME_DEFAULT, '!', "You are already in an OMEMO session.");
+                return TRUE;
+            }
 
-        if (chatwin->is_omemo) {
-            win_println(window, THEME_DEFAULT, '!', "You are already in an OMEMO session.");
+            omemo_start_session(chatwin->barejid);
+            chatwin->is_omemo = TRUE;
+        } else if (window->type == WIN_MUC) {
+        } else {
+            win_println(window, THEME_DEFAULT, '-', "You must be in a regular chat window to start an OMEMO session.");
             return TRUE;
         }
 
-        omemo_start_session(chatwin->barejid);
-        chatwin->is_omemo = TRUE;
     }
 
     return TRUE;