Changeset 673a54c for protocols/yahoo


Ignore:
Timestamp:
2009-03-12T19:33:28Z (16 years ago)
Author:
Sven Moritz Hallberg <pesco@…>
Branches:
master
Children:
fc34fb5
Parents:
823de9d (diff), 9e768da (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

pretty blind try at merging in the latest trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/yahoo/yahoo.c

    r823de9d r673a54c  
    197197{
    198198        struct byahoo_data *yd = (struct byahoo_data *) ic->proto_data;
    199        
    200         ic->away = NULL;
     199        char *away;
     200       
     201        away = NULL;
    201202       
    202203        if( state && msg && g_strcasecmp( state, msg ) != 0 )
    203204        {
    204205                yd->current_status = YAHOO_STATUS_CUSTOM;
    205                 ic->away = "";
     206                away = "";
    206207        }
    207208        else if( state )
     
    212213                msg = NULL;
    213214               
    214                 ic->away = "";
     215                away = "";
    215216                if( g_strcasecmp( state, "Available" ) == 0 )
    216217                {
    217218                        yd->current_status = YAHOO_STATUS_AVAILABLE;
    218                         ic->away = NULL;
     219                        away = NULL;
    219220                }
    220221                else if( g_strcasecmp( state, "Be Right Back" ) == 0 )
     
    242243                        yd->current_status = YAHOO_STATUS_AVAILABLE;
    243244                       
    244                         ic->away = NULL;
     245                        away = NULL;
    245246                }
    246247        }
     
    248249                yd->current_status = YAHOO_STATUS_AVAILABLE;
    249250       
    250         yahoo_set_away( yd->y2_id, yd->current_status, msg, ic->away != NULL ? 2 : 0 );
     251        yahoo_set_away( yd->y2_id, yd->current_status, msg, away != NULL ? 2 : 0 );
    251252}
    252253
     
    791792{
    792793        struct byahoo_conf_invitation *inv = data;
    793        
    794         yahoo_conference_logon( inv->yid, NULL, inv->members, inv->name );
    795         imcb_chat_add_buddy( inv->c, inv->ic->acc->user );
     794        struct groupchat *b;
     795       
     796        for( b = inv->ic->groupchats; b; b = b->next )
     797                if( b == inv->c )
     798                        break;
     799       
     800        if( b != NULL )
     801        {
     802                yahoo_conference_logon( inv->yid, NULL, inv->members, inv->name );
     803                imcb_chat_add_buddy( inv->c, inv->ic->acc->user );
     804        }
     805        else
     806        {
     807                imcb_log( inv->ic, "Duplicate/corrupted invitation to `%s'.", inv->name );
     808        }
     809       
    796810        g_free( inv->name );
    797811        g_free( inv );
Note: See TracChangeset for help on using the changeset viewer.