diff options
author | Michael Vetter <jubalh@iodoru.org> | 2019-06-07 19:49:08 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-07 19:49:08 +0200 |
commit | 1772236178ec7809e3793bce53684500ec8f5b11 (patch) | |
tree | 47113405eccb048877be31223c81685e55ad73ad /src/command | |
parent | bee7846ea0b6333aa1f274e61a47596d05c79f6f (diff) | |
parent | 1e723970ded1579fa7fd06bc0ab7c445fcfd9b5d (diff) | |
download | profani-tty-1772236178ec7809e3793bce53684500ec8f5b11.tar.gz |
Merge pull request #1118 from profanity-im/fix/1117-omemo-autocompletion-crash
Only complete certain omemo commands if connected
Diffstat (limited to 'src/command')
-rw-r--r-- | src/command/cmd_ac.c | 53 |
1 files changed, 27 insertions, 26 deletions
diff --git a/src/command/cmd_ac.c b/src/command/cmd_ac.c index 5d1dff12..7e3837bc 100644 --- a/src/command/cmd_ac.c +++ b/src/command/cmd_ac.c @@ -2183,47 +2183,48 @@ _omemo_autocomplete(ProfWin *window, const char *const input, gboolean previous) { char *found = NULL; - jabber_conn_status_t conn_status = connection_get_status(); - - if (conn_status == JABBER_CONNECTED) { - found = autocomplete_param_with_func(input, "/omemo start", roster_contact_autocomplete, previous); - if (found) { - return found; - } + found = autocomplete_param_with_ac(input, "/omemo log", omemo_log_ac, TRUE, previous); + if (found) { + return found; } - found = autocomplete_param_with_func(input, "/omemo fingerprint", roster_contact_autocomplete, previous); + found = autocomplete_param_with_ac(input, "/omemo policy", omemo_policy_ac, TRUE, previous); if (found) { return found; } -#ifdef HAVE_OMEMO - if (window->type == WIN_CHAT) { - found = autocomplete_param_with_func(input, "/omemo trust", omemo_fingerprint_autocomplete, previous); - if (found) { - return found; - } - } else { - found = autocomplete_param_with_func(input, "/omemo trust", roster_contact_autocomplete, previous); + jabber_conn_status_t conn_status = connection_get_status(); + + if (conn_status == JABBER_CONNECTED) { + found = autocomplete_param_with_func(input, "/omemo start", roster_contact_autocomplete, previous); if (found) { return found; } - found = autocomplete_param_no_with_func(input, "/omemo trust", 4, omemo_fingerprint_autocomplete, previous); + found = autocomplete_param_with_func(input, "/omemo fingerprint", roster_contact_autocomplete, previous); if (found) { return found; } - } -#endif - found = autocomplete_param_with_ac(input, "/omemo log", omemo_log_ac, TRUE, previous); - if (found) { - return found; - } - found = autocomplete_param_with_ac(input, "/omemo policy", omemo_policy_ac, TRUE, previous); - if (found) { - return found; +#ifdef HAVE_OMEMO + if (window->type == WIN_CHAT) { + found = autocomplete_param_with_func(input, "/omemo trust", omemo_fingerprint_autocomplete, previous); + if (found) { + return found; + } + } else { + found = autocomplete_param_with_func(input, "/omemo trust", roster_contact_autocomplete, previous); + if (found) { + return found; + } + + found = autocomplete_param_no_with_func(input, "/omemo trust", 4, omemo_fingerprint_autocomplete, previous); + if (found) { + return found; + } + } +#endif } found = autocomplete_param_with_ac(input, "/omemo", omemo_ac, TRUE, previous); |