comparison src/dialogs.c @ 4476:62c1e5e656d0

[gaim-migrate @ 4751] gaim_conversation_new() now takes an aim_user parameter. This should fix the new placement grouping bugs, as the default "user" (account) selected was the first account in the list of connections. There may be side-effects, especially with perl plugins, but I'm not sure. Please report anything odd that you see as a result of this. committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Thu, 30 Jan 2003 18:45:50 +0000
parents e73c4e8e2d03
children 3196d9044a45
comparison
equal deleted inserted replaced
4475:1f3241831734 4476:62c1e5e656d0
559 559
560 static void do_im(GtkWidget *widget, int resp, struct getuserinfo *info) 560 static void do_im(GtkWidget *widget, int resp, struct getuserinfo *info)
561 { 561 {
562 const char *who; 562 const char *who;
563 struct gaim_conversation *conv; 563 struct gaim_conversation *conv;
564 struct aim_user *user;
564 565
565 if (resp == GTK_RESPONSE_OK) { 566 if (resp == GTK_RESPONSE_OK) {
566 who = gtk_entry_get_text(GTK_ENTRY(info->entry)); 567 who = gtk_entry_get_text(GTK_ENTRY(info->entry));
567 568
568 if (!g_strcasecmp(who, "")) { 569 if (!g_strcasecmp(who, "")) {
569 g_free(info); 570 g_free(info);
570 return; 571 return;
571 } 572 }
572 573
574 user = (info->gc ? info->gc->user : NULL);
575
573 conv = gaim_find_conversation(who); 576 conv = gaim_find_conversation(who);
574 577
575 if (conv == NULL) 578 if (conv == NULL)
576 conv = gaim_conversation_new(GAIM_CONV_IM, who); 579 conv = gaim_conversation_new(GAIM_CONV_IM, user, who);
577 else 580 else {
578 gaim_window_raise(gaim_conversation_get_window(conv)); 581 gaim_window_raise(gaim_conversation_get_window(conv));
579 582
580 if (info->gc) 583 if (user)
581 gaim_conversation_set_user(conv, info->gc->user); 584 gaim_conversation_set_user(conv, info->gc->user);
585 }
582 } 586 }
583 587
584 destroy_dialog(NULL, imdialog); 588 destroy_dialog(NULL, imdialog);
585 imdialog = NULL; 589 imdialog = NULL;
586 g_free(info); 590 g_free(info);