Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/oscar/oscar.c

    r68198e9 r5469952  
    380380                s->flags |= ACC_SET_OFFLINE_ONLY;
    381381        }
    382        
    383         acc->flags |= ACC_FLAG_AWAY_MESSAGE;
    384382}
    385383
     
    19541952static void oscar_set_away_aim(struct im_connection *ic, struct oscar_data *od, const char *state, const char *message)
    19551953{
    1956         if (state == NULL)
    1957                 state = "";
    19581954
    19591955        if (!g_strcasecmp(state, _("Visible"))) {
     
    19631959                aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_INVISIBLE);
    19641960                return;
    1965         } else if (message == NULL) {
    1966                 message = state;
    1967         }
     1961        } /* else... */
    19681962
    19691963        if (od->rights.maxawaymsglen == 0)
     
    20082002        }
    20092003
    2010         if (state == NULL) {
     2004        if (!g_strcasecmp(state, "Online")) {
    20112005                aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_NORMAL);
    20122006        } else if (!g_strcasecmp(state, "Away")) {
     
    20332027                aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_INVISIBLE);
    20342028                ic->away = g_strdup(msg);
    2035         } else {
     2029        } else if (!g_strcasecmp(state, GAIM_AWAY_CUSTOM)) {
    20362030                if (no_message) {
    20372031                        aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_NORMAL);
     
    22822276{
    22832277        struct oscar_data *od = ic->proto_data;
    2284 
    2285         if (od->icq) {
    2286                 static GList *m = NULL;
    2287                 m = g_list_append(m, "Away");
    2288                 m = g_list_append(m, "Do Not Disturb");
    2289                 m = g_list_append(m, "Not Available");
    2290                 m = g_list_append(m, "Occupied");
    2291                 m = g_list_append(m, "Free For Chat");
    2292                 m = g_list_append(m, "Invisible");
    2293                 return m;
    2294         } else {
    2295                 static GList *m = NULL;
    2296                 m = g_list_append(m, "Away");
    2297                 return m;
    2298         }
     2278        GList *m = NULL;
     2279
     2280        if (!od->icq)
     2281                return g_list_append(m, GAIM_AWAY_CUSTOM);
     2282
     2283        m = g_list_append(m, "Online");
     2284        m = g_list_append(m, "Away");
     2285        m = g_list_append(m, "Do Not Disturb");
     2286        m = g_list_append(m, "Not Available");
     2287        m = g_list_append(m, "Occupied");
     2288        m = g_list_append(m, "Free For Chat");
     2289        m = g_list_append(m, "Invisible");
     2290
     2291        return m;
    22992292}
    23002293
Note: See TracChangeset for help on using the changeset viewer.