diff src/gtkconv.c @ 10431:843ed1f2bf3f

[gaim-migrate @ 11683] Feature request #1022776, from Kristof Vansant: Clicking on IM in a chat channel, new tab should get focus And of course some minor code cleanup and reuse :-D committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Mon, 27 Dec 2004 07:21:45 +0000
parents de59c0e7f87e
children b6ca0e1b19d0
line wrap: on
line diff
--- a/src/gtkconv.c	Mon Dec 27 06:47:04 2004 +0000
+++ b/src/gtkconv.c	Mon Dec 27 07:21:45 2004 +0000
@@ -1239,18 +1239,21 @@
 static void
 chat_do_im(GaimConversation *conv, const char *who)
 {
+	GaimAccount *account;
+	GaimConnection *gc;
 	GaimPluginProtocolInfo *prpl_info = NULL;
 	char *real_who;
-	GaimConversation *conv2;
-	GaimAccount *account;
 
 	account = gaim_conversation_get_account(conv);
-
-	if(account && account->gc)
-		prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(account->gc->prpl);
-
-	if(prpl_info && prpl_info->get_cb_real_name)
-		real_who = prpl_info->get_cb_real_name(account->gc,
+	g_return_if_fail(account != NULL);
+
+	gc = gaim_account_get_connection(account);
+	g_return_if_fail(gc != NULL);
+
+	prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(gc->prpl);
+
+	if (prpl_info && prpl_info->get_cb_real_name)
+		real_who = prpl_info->get_cb_real_name(gc,
 				gaim_conv_chat_get_id(GAIM_CONV_CHAT(conv)), who);
 	else
 		real_who = g_strdup(who);
@@ -1258,17 +1261,11 @@
 	if(!real_who)
 		return;
 
-	conv2 = gaim_find_conversation_with_account(GAIM_CONV_IM, real_who, account);
-
-	if (conv2 != NULL)
-		gaim_conv_window_show(gaim_conversation_get_window(conv2));
-	else
-		conv2 = gaim_conversation_new(GAIM_CONV_IM, account, real_who);
+	gaim_gtkdialogs_im_with_user(account, real_who);
 
 	g_free(real_who);
 }
 
-
 static void
 chat_im_button_cb(GtkWidget *widget, GaimConversation *conv)
 {