Mercurial > pidgin.yaz
comparison pidgin/gtksavedstatuses.c @ 18236:f5a03ebb054f
Fix a crash after you close the status window, and change the status.
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Sat, 23 Jun 2007 05:33:42 +0000 |
parents | b8572b937c09 |
children | 0d7ce1dca9fa |
comparison
equal
deleted
inserted
replaced
18235:d359e5f3ee87 | 18236:f5a03ebb054f |
---|---|
656 | 656 |
657 g_signal_connect(G_OBJECT(button), "clicked", | 657 g_signal_connect(G_OBJECT(button), "clicked", |
658 G_CALLBACK(status_window_close_cb), dialog); | 658 G_CALLBACK(status_window_close_cb), dialog); |
659 | 659 |
660 purple_signal_connect(purple_savedstatuses_get_handle(), | 660 purple_signal_connect(purple_savedstatuses_get_handle(), |
661 "savedstatus-changed", dialog, | 661 "savedstatus-changed", status_window, |
662 PURPLE_CALLBACK(current_status_changed), dialog); | 662 PURPLE_CALLBACK(current_status_changed), dialog); |
663 | |
664 purple_signal_connect(purple_savedstatuses_get_handle(), | 663 purple_signal_connect(purple_savedstatuses_get_handle(), |
665 "savedstatus-added", dialog, | 664 "savedstatus-added", status_window, |
666 PURPLE_CALLBACK(saved_status_updated_cb), dialog); | 665 PURPLE_CALLBACK(saved_status_updated_cb), dialog); |
667 purple_signal_connect(purple_savedstatuses_get_handle(), | 666 purple_signal_connect(purple_savedstatuses_get_handle(), |
668 "savedstatus-deleted", dialog, | 667 "savedstatus-deleted", status_window, |
669 PURPLE_CALLBACK(saved_status_updated_cb), dialog); | 668 PURPLE_CALLBACK(saved_status_updated_cb), dialog); |
670 purple_signal_connect(purple_savedstatuses_get_handle(), | 669 purple_signal_connect(purple_savedstatuses_get_handle(), |
671 "savedstatus-modified", dialog, | 670 "savedstatus-modified", status_window, |
672 PURPLE_CALLBACK(saved_status_updated_cb), dialog); | 671 PURPLE_CALLBACK(saved_status_updated_cb), dialog); |
673 | 672 |
674 gtk_widget_show_all(win); | 673 gtk_widget_show_all(win); |
675 } | 674 } |
676 | 675 |
683 if (status_window->window != NULL) | 682 if (status_window->window != NULL) |
684 gtk_widget_destroy(status_window->window); | 683 gtk_widget_destroy(status_window->window); |
685 | 684 |
686 purple_request_close_with_handle(status_window); | 685 purple_request_close_with_handle(status_window); |
687 purple_notify_close_with_handle(status_window); | 686 purple_notify_close_with_handle(status_window); |
687 purple_signals_disconnect_by_handle(status_window); | |
688 g_free(status_window); | 688 g_free(status_window); |
689 status_window = NULL; | 689 status_window = NULL; |
690 } | 690 } |
691 | 691 |
692 | 692 |