# HG changeset patch # User Nathan Walp # Date 1047106300 0 # Node ID 049ea04f99d9685dded0b79fb5d891f8fdc5627e # Parent 6e3b8a8a143fe4e8c47f7f2381ac501fc1a629e9 [gaim-migrate @ 4984] somehow I was too lazy to code this for the earlier fix. *shrug* committer: Tailor Script diff -r 6e3b8a8a143f -r 049ea04f99d9 src/gtkconv.c --- a/src/gtkconv.c Sat Mar 08 02:47:11 2003 +0000 +++ b/src/gtkconv.c Sat Mar 08 06:51:40 2003 +0000 @@ -1253,9 +1253,10 @@ } static void -menu_conv_sel_send_cb(GObject *m, struct gaim_account *account) +menu_conv_sel_send_cb(GObject *m, gpointer data) { struct gaim_window *win = g_object_get_data(m, "user_data"); + struct gaim_account *account = g_object_get_data(m, "gaim_account"); struct gaim_conversation *conv; if (gaim_gtk_is_state_locked()) @@ -1986,26 +1987,10 @@ child = child->next) { GtkWidget *item = child->data; - GtkWidget *box; - GList *children; - GtkWidget *label; - const char *title; - - box = gtk_bin_get_child(GTK_BIN(item)); - - children = gtk_container_get_children(GTK_CONTAINER(box)); - - if(g_list_length(children) < 2) - continue; - - label = g_list_nth_data(children, 1); - - if (!GTK_IS_LABEL(label)) - continue; - - title = gtk_label_get_text(GTK_LABEL(label)); - - if (!strcmp(title, username)) { + struct gaim_account *item_account = g_object_get_data(G_OBJECT(item), + "gaim_account"); + + if (account == item_account) { gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), TRUE); break; } @@ -2124,9 +2109,10 @@ /* Set our data and callbacks. */ g_object_set_data(G_OBJECT(menuitem), "user_data", win); + g_object_set_data(G_OBJECT(menuitem), "gaim_account", gc->account); g_signal_connect(G_OBJECT(menuitem), "activate", - G_CALLBACK(menu_conv_sel_send_cb), gc->account); + G_CALLBACK(menu_conv_sel_send_cb), NULL); gtk_widget_show(menuitem); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);