Mercurial > pidgin.yaz
comparison pidgin/gtksmiley.c @ 29382:b066ad9bbcc3
Don't try to save the edit dialog pointer to a NULL PurpleSmiley (aka, when
adding a new one).
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Sun, 07 Feb 2010 08:22:11 +0000 |
parents | b1df98334930 |
children | 9af18bfb16aa |
comparison
equal
deleted
inserted
replaced
29381:b1df98334930 | 29382:b066ad9bbcc3 |
---|---|
72 static GSList *gtk_smileys = NULL; | 72 static GSList *gtk_smileys = NULL; |
73 | 73 |
74 static void | 74 static void |
75 pidgin_smiley_destroy(PidginSmiley *smiley) | 75 pidgin_smiley_destroy(PidginSmiley *smiley) |
76 { | 76 { |
77 g_object_set_data(G_OBJECT(smiley->smiley), "edit-dialog", NULL); | 77 if (smiley->smiley) |
78 g_object_set_data(G_OBJECT(smiley->smiley), "edit-dialog", NULL); | |
78 gtk_widget_destroy(smiley->parent); | 79 gtk_widget_destroy(smiley->parent); |
79 g_free(smiley->filename); | 80 g_free(smiley->filename); |
80 if (smiley->custom_pixbuf) | 81 if (smiley->custom_pixbuf) |
81 g_object_unref(G_OBJECT(smiley->custom_pixbuf)); | 82 g_object_unref(G_OBJECT(smiley->custom_pixbuf)); |
82 g_free(smiley); | 83 g_free(smiley); |
401 GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_NO_SEPARATOR, | 402 GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_NO_SEPARATOR, |
402 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, | 403 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, |
403 smiley ? GTK_STOCK_SAVE : GTK_STOCK_ADD, GTK_RESPONSE_ACCEPT, | 404 smiley ? GTK_STOCK_SAVE : GTK_STOCK_ADD, GTK_RESPONSE_ACCEPT, |
404 NULL); | 405 NULL); |
405 s->parent = window; | 406 s->parent = window; |
406 g_object_set_data(G_OBJECT(smiley), "edit-dialog", window); | 407 if (smiley) |
408 g_object_set_data(G_OBJECT(smiley), "edit-dialog", window); | |
407 | 409 |
408 gtk_container_set_border_width(GTK_CONTAINER(window), PIDGIN_HIG_BORDER); | 410 gtk_container_set_border_width(GTK_CONTAINER(window), PIDGIN_HIG_BORDER); |
409 | 411 |
410 gtk_dialog_set_default_response(GTK_DIALOG(window), GTK_RESPONSE_ACCEPT); | 412 gtk_dialog_set_default_response(GTK_DIALOG(window), GTK_RESPONSE_ACCEPT); |
411 g_signal_connect(window, "response", G_CALLBACK(do_add_select_cb), s); | 413 g_signal_connect(window, "response", G_CALLBACK(do_add_select_cb), s); |