diff src/server.c @ 904:e1a7fc4482b9

[gaim-migrate @ 914] oscar can join empty chat rooms committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Thu, 14 Sep 2000 17:40:48 +0000
parents 38ffd1faa31a
children 59d9e1177ab5
line wrap: on
line diff
--- a/src/server.c	Thu Sep 14 17:12:27 2000 +0000
+++ b/src/server.c	Thu Sep 14 17:40:48 2000 +0000
@@ -498,9 +498,19 @@
 	        g_snprintf(buf, sizeof(buf)/2, "toc_chat_join %d \"%s\"", exchange, name);
 	        sflap_send(buf, -1, TYPE_DATA);
 	} else {
+		struct aim_conn_t *cur = NULL;
 		sprintf(debug_buff, "Attempting to join chat room %s.\n", name);
 		debug_print(debug_buff);
-		aim_chat_join(gaim_sess, gaim_conn, exchange, name);
+		if ((cur = aim_getconn_type(gaim_sess, AIM_CONN_TYPE_CHATNAV))) {
+			debug_print("chatnav exists, creating room\n");
+			aim_chatnav_createroom(gaim_sess, cur, name, exchange);
+		} else {
+			/* this gets tricky */
+			debug_print("chatnav does not exist, opening chatnav\n");
+			create_exchange = exchange;
+			create_name = g_strdup(name);
+			aim_bos_reqservice(gaim_sess, gaim_conn, AIM_CONN_TYPE_CHATNAV);
+		}
 	}
 }