diff options
Diffstat (limited to 'protocols')
| -rw-r--r-- | protocols/oscar/oscar.c | 4 | ||||
| -rw-r--r-- | protocols/twitter/twitter.h | 1 | ||||
| -rw-r--r-- | protocols/twitter/twitter_lib.c | 11 | 
3 files changed, 16 insertions, 0 deletions
| diff --git a/protocols/oscar/oscar.c b/protocols/oscar/oscar.c index 0d23b7e8..27e8f210 100644 --- a/protocols/oscar/oscar.c +++ b/protocols/oscar/oscar.c @@ -2101,6 +2101,10 @@ static int gaim_ssi_parseack( aim_session_t *sess, aim_frame_t *fr, ... )  				aim_ssi_auth_request( sess, fr->conn, list, "" );  				aim_ssi_addbuddies( sess, fr->conn, OSCAR_GROUP, &list, 1, 1 );  			} +			else if( st == 0x0A ) +			{ +				imcb_error( sess->aux_data, "Buddy %s is already in your list", list ); +			}  			else  			{  				imcb_error( sess->aux_data, "Error while adding buddy: 0x%04x", st ); diff --git a/protocols/twitter/twitter.h b/protocols/twitter/twitter.h index 14e43824..47dbeb29 100644 --- a/protocols/twitter/twitter.h +++ b/protocols/twitter/twitter.h @@ -38,6 +38,7 @@ typedef enum  	TWITTER_DOING_TIMELINE = 0x10000,  	TWITTER_GOT_TIMELINE = 0x20000,  	TWITTER_GOT_MENTIONS = 0x40000, +	TWITTER_DOING_TIMELINE_SLOW = 0x80000,  } twitter_flags_t;  struct twitter_log_data; diff --git a/protocols/twitter/twitter_lib.c b/protocols/twitter/twitter_lib.c index 4c680930..00e3a2ee 100644 --- a/protocols/twitter/twitter_lib.c +++ b/protocols/twitter/twitter_lib.c @@ -726,7 +726,18 @@ void twitter_get_timeline(struct im_connection *ic, gint64 next_cursor)  	struct twitter_data *td = ic->proto_data;  	gboolean include_mentions = set_getbool(&ic->acc->set, "fetch_mentions"); +	if ((td->flags & 0xf0000) == (TWITTER_DOING_TIMELINE | TWITTER_DOING_TIMELINE_SLOW)) { +		imcb_log(ic, "Connection seems to have stalled again.\n" +		             "This is a known bug, if you see this happen a lot " +		             "please generate some traffic dumps."); +		td->flags &= ~0xf0000; +	} +  	if (td->flags & TWITTER_DOING_TIMELINE) { +		/* This shouldn't normally happen at all but I'm currently hunting a bug +		   where it does. Instead of having users suffer under it, have a work- +		   around with a warning. */ +		td->flags |= TWITTER_DOING_TIMELINE_SLOW;  		return;  	} | 
