diff options
author | Paul Fariello <paul@fariello.eu> | 2019-03-15 07:28:21 +0140 |
---|---|---|
committer | Paul Fariello <paul@fariello.eu> | 2019-04-10 17:12:31 +0200 |
commit | 21f247d0eb67b90e0e012575c758b0f663d3b292 (patch) | |
tree | 3de10b227e5fb4faf36b941403384cfaf8f313b6 /src | |
parent | a3897abba1e093aeab2b46bccded87485e518bb1 (diff) | |
download | profani-tty-21f247d0eb67b90e0e012575c758b0f663d3b292.tar.gz |
Handle window type MUC in OMEMO start command
Diffstat (limited to 'src')
-rw-r--r-- | src/command/cmd_funcs.c | 38 |
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; |