about summary refs log tree commit diff stats
path: root/src/command/command.c
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2014-12-28 22:40:59 +0000
committerJames Booth <boothj5@gmail.com>2014-12-28 22:45:25 +0000
commitac4b59eda08c66d037c794022fff7e3231768c72 (patch)
tree3a969a04d905cc17ed4937b65452ad85a6661200 /src/command/command.c
parent53ecd3b383a01ddb71b6d7fe2320158510582e43 (diff)
downloadprofani-tty-ac4b59eda08c66d037c794022fff7e3231768c72.tar.gz
Fixed chat state for non OTR
Diffstat (limited to 'src/command/command.c')
-rw-r--r--src/command/command.c34
1 files changed, 3 insertions, 31 deletions
diff --git a/src/command/command.c b/src/command/command.c
index a390ae1b..720ff19f 100644
--- a/src/command/command.c
+++ b/src/command/command.c
@@ -1803,17 +1803,7 @@ cmd_execute_default(const char * inp)
                 if (otr_is_secure(chatwin->barejid)) {
                     char *encrypted = otr_encrypt_message(chatwin->barejid, inp);
                     if (encrypted != NULL) {
-                        gboolean send_state = FALSE;
-                        if (prefs_get_boolean(PREF_STATES)) {
-                            if (!chat_session_exists(chatwin->barejid)) {
-                                chat_session_start(chatwin->barejid, TRUE);
-                            }
-                            if (chat_session_get_recipient_supports(chatwin->barejid)) {
-                                chat_session_set_active(chatwin->barejid);
-                                send_state = TRUE;
-                            }
-                        }
-
+                        gboolean send_state = chat_session_on_message_send(chatwin->barejid);
                         message_send_chat(chatwin->barejid, chatwin->barejid, encrypted, send_state);
                         otr_free_message(encrypted);
                         if (prefs_get_boolean(PREF_CHLOG)) {
@@ -1834,16 +1824,7 @@ cmd_execute_default(const char * inp)
                         cons_show_error("Failed to send message.");
                     }
                 } else {
-                    gboolean send_state = FALSE;
-                    if (prefs_get_boolean(PREF_STATES)) {
-                        if (!chat_session_exists(chatwin->barejid)) {
-                            chat_session_start(chatwin->barejid, TRUE);
-                        }
-                        if (chat_session_get_recipient_supports(chatwin->barejid)) {
-                            chat_session_set_active(chatwin->barejid);
-                            send_state = TRUE;
-                        }
-                    }
+                    gboolean send_state = chat_session_on_message_send(chatwin->barejid);
                     message_send_chat(chatwin->barejid, chatwin->resource, inp, send_state);
                     if (prefs_get_boolean(PREF_CHLOG)) {
                         const char *jid = jabber_get_fulljid();
@@ -1855,16 +1836,7 @@ cmd_execute_default(const char * inp)
                     ui_outgoing_chat_msg("me", chatwin->barejid, inp);
                 }
 #else
-                gboolean send_state = FALSE;
-                if (prefs_get_boolean(PREF_STATES)) {
-                    if (!chat_session_exists(chatwin->barejid)) {
-                        chat_session_start(chatwin->barejid, TRUE);
-                    }
-                    if (chat_session_get_recipient_supports(chatwin->barejid)) {
-                        chat_session_set_active(chatwin->barejid);
-                        send_state = TRUE;
-                    }
-                }
+                gboolean send_state = chat_session_on_message_send(chatwin->barejid);
                 message_send_chat(chatwin->barejid, chatwin->resource, inp, send_state);
                 if (prefs_get_boolean(PREF_CHLOG)) {
                     const char *jid = jabber_get_fulljid();