about summary refs log tree commit diff stats
path: root/src/xmpp/session.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/xmpp/session.c')
-rw-r--r--src/xmpp/session.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/xmpp/session.c b/src/xmpp/session.c
index 032ca77a..ea6a8a7f 100644
--- a/src/xmpp/session.c
+++ b/src/xmpp/session.c
@@ -412,10 +412,11 @@ session_check_autoaway(void)
 
                     // send away presence with last activity
                     char *message = prefs_get_string(PREF_AUTOAWAY_MESSAGE);
+                    connection_set_presence_msg(message);
                     if (prefs_get_boolean(PREF_LASTACTIVITY)) {
-                        cl_ev_presence_send(RESOURCE_AWAY, message, idle_ms / 1000);
+                        cl_ev_presence_send(RESOURCE_AWAY, idle_ms / 1000);
                     } else {
-                        cl_ev_presence_send(RESOURCE_AWAY, message, 0);
+                        cl_ev_presence_send(RESOURCE_AWAY, 0);
                     }
 
                     int pri = accounts_get_priority_for_presence_type(account, RESOURCE_AWAY);
@@ -432,7 +433,8 @@ session_check_autoaway(void)
                 activity_state = ACTIVITY_ST_IDLE;
 
                 // send current presence with last activity
-                cl_ev_presence_send(curr_presence, curr_status, idle_ms / 1000);
+                connection_set_presence_msg(curr_status);
+                cl_ev_presence_send(curr_presence, idle_ms / 1000);
             }
         }
         break;
@@ -443,7 +445,8 @@ session_check_autoaway(void)
             cons_show("No longer idle.");
 
             // send current presence without last activity
-            cl_ev_presence_send(curr_presence, curr_status, 0);
+            connection_set_presence_msg(curr_status);
+            cl_ev_presence_send(curr_presence, 0);
         }
         break;
     case ACTIVITY_ST_AWAY:
@@ -452,10 +455,11 @@ session_check_autoaway(void)
 
             // send extended away presence with last activity
             char *message = prefs_get_string(PREF_AUTOXA_MESSAGE);
+            connection_set_presence_msg(message);
             if (prefs_get_boolean(PREF_LASTACTIVITY)) {
-                cl_ev_presence_send(RESOURCE_XA, message, idle_ms / 1000);
+                cl_ev_presence_send(RESOURCE_XA, idle_ms / 1000);
             } else {
-                cl_ev_presence_send(RESOURCE_XA, message, 0);
+                cl_ev_presence_send(RESOURCE_XA, 0);
             }
 
             int pri = accounts_get_priority_for_presence_type(account, RESOURCE_XA);
@@ -473,7 +477,8 @@ session_check_autoaway(void)
             cons_show("No longer idle.");
 
             // send saved presence without last activity
-            cl_ev_presence_send(saved_presence, saved_status, 0);
+            connection_set_presence_msg(saved_status);
+            cl_ev_presence_send(saved_presence, 0);
             contact_presence_t contact_pres = contact_presence_from_resource_presence(saved_presence);
             title_bar_set_presence(contact_pres);
         }
@@ -485,7 +490,8 @@ session_check_autoaway(void)
             cons_show("No longer idle.");
 
             // send saved presence without last activity
-            cl_ev_presence_send(saved_presence, saved_status, 0);
+            connection_set_presence_msg(saved_status);
+            cl_ev_presence_send(saved_presence, 0);
             contact_presence_t contact_pres = contact_presence_from_resource_presence(saved_presence);
             title_bar_set_presence(contact_pres);
         }