From: <ebl...@us...> - 2006-06-26 17:52:31
|
Revision: 16351 Author: eblanton Date: 2006-06-26 10:52:26 -0700 (Mon, 26 Jun 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=16351&view=rev Log Message: ----------- Focus newly created IRC tabs created with /join and /query Modified Paths: -------------- trunk/src/protocols/irc/cmds.c trunk/src/protocols/irc/msgs.c Modified: trunk/src/protocols/irc/cmds.c =================================================================== --- trunk/src/protocols/irc/cmds.c 2006-06-26 09:04:41 UTC (rev 16350) +++ trunk/src/protocols/irc/cmds.c 2006-06-26 17:52:26 UTC (rev 16351) @@ -402,6 +402,7 @@ return 0; convo = gaim_conversation_new(GAIM_CONV_TYPE_IM, irc->account, args[0]); + gaim_conversation_present(convo); if (args[1]) { gc = gaim_account_get_connection(irc->account); Modified: trunk/src/protocols/irc/msgs.c =================================================================== --- trunk/src/protocols/irc/msgs.c 2006-06-26 09:04:41 UTC (rev 16350) +++ trunk/src/protocols/irc/msgs.c 2006-06-26 17:52:26 UTC (rev 16351) @@ -675,6 +675,14 @@ /* We are joining a channel for the first time */ serv_got_joined_chat(gc, id++, args[0]); g_free(nick); + convo = gaim_find_conversation_with_account(GAIM_CONV_TYPE_CHAT, + args[0], + irc->account); + if (convo == NULL) { + gaim_debug_error("irc", "tried to join %s but couldn't\n", args[0]); + return; + } + gaim_conversation_present(convo); return; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-08-14 06:38:14
|
Revision: 16745 Author: thekingant Date: 2006-08-13 23:38:12 -0700 (Sun, 13 Aug 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=16745&view=rev Log Message: ----------- IRC is now canceling gaim_proxy_connect() attempts instead of using GAIM_CONNECTION_IS_VALID(). This will probably be the most clear example of the changes needed, for you folks sitting at home. Modified Paths: -------------- trunk/src/protocols/irc/irc.c trunk/src/protocols/irc/irc.h Modified: trunk/src/protocols/irc/irc.c =================================================================== --- trunk/src/protocols/irc/irc.c 2006-08-14 06:27:04 UTC (rev 16744) +++ trunk/src/protocols/irc/irc.c 2006-08-14 06:38:12 UTC (rev 16745) @@ -46,7 +46,7 @@ /* static GList *irc_chat_info(GaimConnection *gc); */ static void irc_login(GaimAccount *account); static void irc_login_cb_ssl(gpointer data, GaimSslConnection *gsc, GaimInputCondition cond); -static void irc_login_cb(gpointer data, gint source); +static void irc_login_cb(gpointer data, gint source, const gchar *error_message); static void irc_ssl_connect_failure(GaimSslConnection *gsc, GaimSslErrorType error, gpointer data); static void irc_close(GaimConnection *gc); static int irc_im_send(GaimConnection *gc, const char *who, const char *what, GaimMessageFlags flags); @@ -283,7 +283,6 @@ struct irc_conn *irc; char **userparts; const char *username = gaim_account_get_username(account); - GaimProxyConnectInfo *connect_info; gc = gaim_account_get_connection(account); gc->flags |= GAIM_CONNECTION_NO_NEWLINES; @@ -325,11 +324,11 @@ if (!irc->gsc) { - connect_info = gaim_proxy_connect(account, irc->server, + irc->connect_info = gaim_proxy_connect(account, irc->server, gaim_account_get_int(account, "port", IRC_DEFAULT_PORT), irc_login_cb, gc); - if (!connect_info || !gaim_account_get_connection(account)) { + if (!irc->connect_info || !gaim_account_get_connection(account)) { gaim_connection_error(gc, _("Couldn't create socket")); return; } @@ -394,22 +393,18 @@ } } -static void irc_login_cb(gpointer data, gint source) +static void irc_login_cb(gpointer data, gint source, const gchar *error_message) { GaimConnection *gc = data; struct irc_conn *irc = gc->proto_data; - GList *connections = gaim_connections_get_all(); + irc->connect_info = NULL; + if (source < 0) { gaim_connection_error(gc, _("Couldn't connect to host")); return; } - if (!g_list_find(connections, gc)) { - close(source); - return; - } - irc->fd = source; if (do_login(gc)) { @@ -443,8 +438,12 @@ if (irc == NULL) return; - irc_cmd_quit(irc, "quit", NULL, NULL); + if (irc->gsc || (irc->fd >= 0)) + irc_cmd_quit(irc, "quit", NULL, NULL); + if (irc->connect_info) + gaim_proxy_connect_cancel(irc->connect_info); + if (gc->inpa) gaim_input_remove(gc->inpa); Modified: trunk/src/protocols/irc/irc.h =================================================================== --- trunk/src/protocols/irc/irc.h 2006-08-14 06:27:04 UTC (rev 16744) +++ trunk/src/protocols/irc/irc.h 2006-08-14 06:38:12 UTC (rev 16745) @@ -54,6 +54,8 @@ guint timer; GHashTable *buddies; + GaimProxyConnectInfo *connect_info; + char *inbuf; int inbuflen; int inbufused; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |