Mercurial > pidgin
comparison src/server.c @ 1723:76e601b77099
[gaim-migrate @ 1733]
patch from mid to make invites non-proto-biased.
committer: Tailor Script <tailor@pidgin.im>
| author | Eric Warmenhoven <eric@warmenhoven.org> |
|---|---|
| date | Wed, 18 Apr 2001 00:08:57 +0000 |
| parents | 1edc8b545d6f |
| children | dd78a230aa06 |
comparison
equal
deleted
inserted
replaced
| 1722:1edc8b545d6f | 1723:76e601b77099 |
|---|---|
| 556 | 556 |
| 557 | 557 |
| 558 | 558 |
| 559 static void close_invite(GtkWidget *w, GtkWidget *w2) | 559 static void close_invite(GtkWidget *w, GtkWidget *w2) |
| 560 { | 560 { |
| 561 char *str = (char *)gtk_object_get_user_data(GTK_OBJECT(w2)); | |
| 562 | |
| 563 if (str) | |
| 564 g_free(str); | |
| 565 | |
| 561 gtk_widget_destroy(w2); | 566 gtk_widget_destroy(w2); |
| 562 } | 567 } |
| 563 | 568 |
| 564 static void chat_invite_callback(GtkWidget *w, GtkWidget *w2) | 569 static void chat_invite_callback(GtkWidget *w, GtkWidget *w2) |
| 565 { | 570 { |
| 566 struct gaim_connection *g = (struct gaim_connection *) | 571 struct gaim_connection *g = (struct gaim_connection *) |
| 567 gtk_object_get_user_data(GTK_OBJECT(GTK_DIALOG(w2)->vbox)); | 572 gtk_object_get_user_data(GTK_OBJECT(GTK_DIALOG(w2)->vbox)); |
| 568 if (g->protocol == PROTO_TOC) { | 573 int id; |
| 569 int i = (int)gtk_object_get_user_data(GTK_OBJECT(w2)); | 574 char *str; |
| 570 serv_accept_chat(g, i); | 575 |
| 571 gtk_widget_destroy(w2); | 576 id = (int)gtk_object_get_user_data(GTK_OBJECT(w)); |
| 572 } else if (g->protocol == PROTO_OSCAR) { | 577 str = (char *)gtk_object_get_user_data(GTK_OBJECT(w2)); |
| 573 char *i = (char *)gtk_object_get_user_data(GTK_OBJECT(w2)); | 578 |
| 574 int id = (int)gtk_object_get_user_data(GTK_OBJECT(w)); | 579 if (g->prpl && g->prpl->accept_chat) |
| 575 serv_join_chat(g, id, i); | 580 serv_accept_chat(g, id); |
| 576 g_free(i); | 581 else |
| 577 gtk_widget_destroy(w2); | 582 serv_join_chat(g, id, str); |
| 578 } | 583 |
| 584 if (str) | |
| 585 g_free(str); | |
| 586 | |
| 587 gtk_widget_destroy(w2); | |
| 579 } | 588 } |
| 580 | 589 |
| 581 | 590 |
| 582 | 591 |
| 583 void serv_got_chat_invite(struct gaim_connection *g, char *name, int id, char *who, char *message) | 592 void serv_got_chat_invite(struct gaim_connection *g, char *name, int id, char *who, char *message) |
| 612 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->vbox), label, FALSE, FALSE, 5); | 621 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->vbox), label, FALSE, FALSE, 5); |
| 613 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->action_area), yesbtn, FALSE, FALSE, 5); | 622 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->action_area), yesbtn, FALSE, FALSE, 5); |
| 614 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->action_area), nobtn, FALSE, FALSE, 5); | 623 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->action_area), nobtn, FALSE, FALSE, 5); |
| 615 | 624 |
| 616 gtk_object_set_user_data(GTK_OBJECT(GTK_DIALOG(d)->vbox), g); | 625 gtk_object_set_user_data(GTK_OBJECT(GTK_DIALOG(d)->vbox), g); |
| 617 if (g->protocol == PROTO_TOC) { | 626 if (name) |
| 618 gtk_object_set_user_data(GTK_OBJECT(d), (void *)id); | |
| 619 gtk_object_set_user_data(GTK_OBJECT(GTK_DIALOG(d)->vbox), g); | |
| 620 } else if (g->protocol == PROTO_OSCAR) { | |
| 621 gtk_object_set_user_data(GTK_OBJECT(d), (void *)g_strdup(name)); | 627 gtk_object_set_user_data(GTK_OBJECT(d), (void *)g_strdup(name)); |
| 622 gtk_object_set_user_data(GTK_OBJECT(yesbtn), (void *)id); | 628 gtk_object_set_user_data(GTK_OBJECT(yesbtn), (void *)id); |
| 623 } | |
| 624 | 629 |
| 625 | 630 |
| 626 gtk_window_set_title(GTK_WINDOW(d), "Buddy chat invite"); | 631 gtk_window_set_title(GTK_WINDOW(d), "Buddy chat invite"); |
| 627 gtk_signal_connect(GTK_OBJECT(nobtn), "clicked", GTK_SIGNAL_FUNC(close_invite), d); | 632 gtk_signal_connect(GTK_OBJECT(nobtn), "clicked", GTK_SIGNAL_FUNC(close_invite), d); |
| 628 gtk_signal_connect(GTK_OBJECT(yesbtn), "clicked", GTK_SIGNAL_FUNC(chat_invite_callback), d); | 633 gtk_signal_connect(GTK_OBJECT(yesbtn), "clicked", GTK_SIGNAL_FUNC(chat_invite_callback), d); |
