Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/oscar/oscar.c

    r3dc6d86 r56699f0  
    254254
    255255        u = t = g_strdup(s);
    256 
    257         strcpy(t, s);
    258256        g_strdown(t);
    259257
     
    290288        odata = (struct oscar_data *)ic->proto_data;
    291289
    292         if (condition & GAIM_INPUT_READ) {
     290        if (condition & B_EV_IO_READ) {
    293291                if (aim_get_command(odata->sess, conn) >= 0) {
    294292                        aim_rxdispatch(odata->sess);
     
    362360
    363361        aim_conn_completeconnect(sess, conn);
    364         ic->inpa = b_input_add(conn->fd, GAIM_INPUT_READ,
     362        ic->inpa = b_input_add(conn->fd, B_EV_IO_READ,
    365363                        oscar_callback, conn);
    366364       
     
    493491
    494492        aim_conn_completeconnect(sess, bosconn);
    495         ic->inpa = b_input_add(bosconn->fd, GAIM_INPUT_READ,
     493        ic->inpa = b_input_add(bosconn->fd, B_EV_IO_READ,
    496494                        oscar_callback, bosconn);
    497495        imcb_log(ic, _("Connection established, cookie sent"));
     
    652650        struct im_connection *ic = sess->aux_data;
    653651        struct chat_connection *chatcon;
     652        struct groupchat *c = NULL;
    654653        static int id = 1;
    655654
     
    664663        chatcon = find_oscar_chat_by_conn(ic, fr->conn);
    665664        chatcon->id = id;
    666         chatcon->cnv = imcb_chat_new(ic, chatcon->show);
     665       
     666        c = bee_chat_by_title(ic->bee, ic, chatcon->show);
     667        if (c && !c->data)
     668                chatcon->cnv = c;
     669        else
     670                chatcon->cnv = imcb_chat_new(ic, chatcon->show);
    667671        chatcon->cnv->data = chatcon;
    668672
     
    703707
    704708        aim_conn_completeconnect(sess, tstconn);
    705         odata->cnpa = b_input_add(tstconn->fd, GAIM_INPUT_READ,
     709        odata->cnpa = b_input_add(tstconn->fd, B_EV_IO_READ,
    706710                                        oscar_callback, tstconn);
    707711       
     
    731735
    732736        aim_conn_completeconnect(sess, tstconn);
    733         odata->paspa = b_input_add(tstconn->fd, GAIM_INPUT_READ,
     737        odata->paspa = b_input_add(tstconn->fd, B_EV_IO_READ,
    734738                                oscar_callback, tstconn);
    735739       
     
    767771        aim_conn_completeconnect(sess, ccon->conn);
    768772        ccon->inpa = b_input_add(tstconn->fd,
    769                         GAIM_INPUT_READ,
     773                        B_EV_IO_READ,
    770774                        oscar_callback, tstconn);
    771775        odata->oscar_chats = g_slist_append(odata->oscar_chats, ccon);
     
    934938        tmp = normalize(info->sn);
    935939        imcb_buddy_status(ic, tmp, flags, state_string, NULL);
    936         /* imcb_buddy_times(ic, tmp, signon, time_idle); */
     940        imcb_buddy_times(ic, tmp, signon, time_idle);
    937941
    938942
     
    10601064        aim_ssi_auth_reply(od->sess, od->conn, uin, 1, "");
    10611065        // aim_send_im_ch4(od->sess, uin, AIM_ICQMSG_AUTHGRANTED, &message);
    1062         if(imcb_find_buddy(data->ic, uin) == NULL)
    1063                 imcb_ask_add(data->ic, uin, NULL);
     1066        imcb_ask_add(data->ic, uin, NULL);
    10641067       
    10651068        g_free(uin);
     
    18221825        struct oscar_data *odata = (struct oscar_data *)g->proto_data;
    18231826        if (odata->icq) {
     1827                /** FIXME(wilmer): Hmm, lost the ability to get away msgs here, do we care to get that back?
    18241828                struct buddy *budlight = imcb_find_buddy(g, who);
    18251829                if (budlight)
     
    18271831                                if (budlight->caps & AIM_CAPS_ICQSERVERRELAY)
    18281832                                        aim_send_im_ch2_geticqmessage(odata->sess, who, (budlight->uc & 0xff80) >> 7);
     1833                */
    18291834        } else
    18301835                aim_getinfo(odata->sess, odata->conn, who, AIM_GETINFO_AWAYMESSAGE);
     
    19531958static int gaim_ssi_parselist(aim_session_t *sess, aim_frame_t *fr, ...) {
    19541959        struct im_connection *ic = sess->aux_data;
    1955         struct aim_ssi_item *curitem;
     1960        struct aim_ssi_item *curitem, *curgroup;
    19561961        int tmp;
    19571962        char *nrm;
     
    19641969                switch (curitem->type) {
    19651970                        case 0x0000: /* Buddy */
    1966                                 if ((curitem->name) && (!imcb_find_buddy(ic, nrm))) {
     1971                                if ((curitem->name) && (!imcb_buddy_by_handle(ic, nrm))) {
    19671972                                        char *realname = NULL;
    19681973
    19691974                                        if (curitem->data && aim_gettlv(curitem->data, 0x0131, 1))
    19701975                                                    realname = aim_gettlv_str(curitem->data, 0x0131, 1);
    1971                                                
    1972                                         imcb_add_buddy(ic, nrm, NULL);
     1976                                       
     1977                                        imcb_add_buddy(ic, nrm, curgroup->gid == curitem->gid ? curgroup->name : NULL);
    19731978                                       
    19741979                                        if (realname) {
     
    19781983                                        }
    19791984                                }
     1985                                break;
     1986
     1987                        case 0x0001: /* Group */
     1988                                curgroup = curitem;
    19801989                                break;
    19811990
     
    25202529        static int chat_id = 0;
    25212530        char * chatname;
     2531        struct groupchat *c;
    25222532       
    25232533        chatname = g_strdup_printf("%s%s_%d", isdigit(*ic->acc->user) ? "icq_" : "",
    25242534                                   ic->acc->user, chat_id++);
    2525  
     2535       
     2536        c = imcb_chat_new(ic, chatname);
    25262537        ret = oscar_chat_join(ic, chatname, NULL, NULL);
    2527 
    25282538        aim_chat_invite(od->sess, od->conn, who, "", 4, chatname, 0x0);
    25292539
Note: See TracChangeset for help on using the changeset viewer.