Mercurial > pidgin.yaz
diff pidgin/gtksmiley.c @ 22889:019052a807a3
Introduce API for GtkIMHtmlSmiley. Use this to prevent leaking remote custom emoticons.
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Tue, 18 Mar 2008 00:47:52 +0000 |
parents | 09f426ca9ca7 |
children | b70b4108799e |
line wrap: on
line diff
--- a/pidgin/gtksmiley.c Fri Mar 14 23:41:03 2008 +0000 +++ b/pidgin/gtksmiley.c Tue Mar 18 00:47:52 2008 +0000 @@ -91,11 +91,9 @@ filename = g_build_filename(purple_smileys_get_storing_dir(),file, NULL); - gtksmiley = g_new0(GtkIMHtmlSmiley,1); - gtksmiley->smile = g_strdup(purple_smiley_get_shortcut(smiley)); - gtksmiley->hidden = FALSE; - gtksmiley->file = filename; - gtksmiley->flags = GTK_IMHTML_SMILEY_CUSTOM; + gtksmiley = gtk_imhtml_smiley_create(filename, purple_smiley_get_shortcut(smiley), + FALSE, GTK_IMHTML_SMILEY_CUSTOM); + g_free(filename); return gtksmiley; } @@ -108,14 +106,6 @@ add_gtkimhtml_to_list(gtksmiley); } -static void destroy_gtksmiley(GtkIMHtmlSmiley *gtksmiley) -{ - purple_debug_info("gtksmiley", "destroying %s\n", gtksmiley->smile); - g_free(gtksmiley->smile); - g_free(gtksmiley->file); - g_free(gtksmiley); -} - void pidgin_smiley_del_from_list(PurpleSmiley *smiley) { GSList *list = NULL; @@ -132,7 +122,7 @@ if (strcmp(gtksmiley->smile, purple_smiley_get_shortcut(smiley))) continue; - destroy_gtksmiley(gtksmiley); + gtk_imhtml_smiley_destroy(gtksmiley); break; } @@ -169,7 +159,7 @@ for (; list; list = g_slist_delete_link(list, list)) { gtksmiley = (GtkIMHtmlSmiley*)list->data; - destroy_gtksmiley(gtksmiley); + gtk_imhtml_smiley_destroy(gtksmiley); } gtk_smileys = NULL;