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