Ignore:
Timestamp:
2010-06-24T09:14:34Z (14 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
41d415b
Parents:
7cd2e8a (diff), 38ff846 (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:

Merging a few revisions from mainline.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/twitter/twitter_lib.c

    r7cd2e8a r8b8def58  
    5959};
    6060
     61static void twitter_groupchat_init(struct im_connection *ic);
     62
    6163/**
    6264 * Frees a twitter_xml_user struct.
     
    433435}
    434436
     437static void twitter_groupchat_init(struct im_connection *ic)
     438{
     439        char *name_hint;
     440        struct groupchat *gc;
     441        struct twitter_data *td = ic->proto_data;
     442       
     443        td->home_timeline_gc = gc = imcb_chat_new( ic, "home/timeline" );
     444       
     445        name_hint = g_strdup_printf( "Twitter_%s", ic->acc->user );
     446        imcb_chat_name_hint( gc, name_hint );
     447        g_free( name_hint );
     448}
     449
    435450/**
    436451 * Function that is called to see the statuses in a groupchat window.
     
    445460        // Create a new groupchat if it does not exsist.
    446461        if (!td->home_timeline_gc)
    447         {   
    448                 char *name_hint = g_strdup_printf( "Twitter_%s", ic->acc->user );
    449                 td->home_timeline_gc = gc = imcb_chat_new( ic, "home/timeline" );
    450                 imcb_chat_name_hint( gc, name_hint );
    451                 g_free( name_hint );
    452                 // Add the current user to the chat...
     462                twitter_groupchat_init(ic);
     463       
     464        gc = td->home_timeline_gc;
     465        if (!gc->joined)
    453466                imcb_chat_add_buddy( gc, ic->acc->user );
    454         }
    455         else
    456         {   
    457                 gc = td->home_timeline_gc;
    458         }
    459467
    460468        for ( l = list; l ; l = g_slist_next(l) )
     
    604612       
    605613        // Check if the HTTP request went well.
    606         if (req->status_code != 200) {
     614        if (req->status_code == 401)
     615        {
     616                imcb_error( ic, "Authentication failure" );
     617                imc_logout( ic, FALSE );
     618                return;
     619        } else if (req->status_code != 200) {
    607620                // It didn't go well, output the error and return.
    608                 if (++td->http_fails >= 5)
    609                         imcb_error(ic, "Could not retrieve " TWITTER_SHOW_FRIENDS_URL ": %s", twitter_parse_error(req));
    610                
     621                imcb_error(ic, "Could not retrieve " TWITTER_SHOW_FRIENDS_URL ": %s", twitter_parse_error(req));
     622                imc_logout( ic, TRUE );
    611623                return;
    612624        } else {
    613625                td->http_fails = 0;
    614626        }
     627       
     628        if( !td->home_timeline_gc &&
     629            g_strcasecmp( set_getstr( &ic->acc->set, "mode" ), "chat" ) == 0 )
     630                twitter_groupchat_init( ic );
    615631
    616632        txl = g_new0(struct twitter_xml_list, 1);
     
    639655        txl_free(txl);
    640656        g_free(txl);
     657       
     658        td->flags |= TWITTER_HAVE_FRIENDS;
     659        twitter_login_finish(ic);
    641660}
    642661
Note: See TracChangeset for help on using the changeset viewer.