diff pidgin/gtkimhtml.c @ 27171:4023cee127c6

merge of '67228440771b545dc01526f74fd7171a02fb5e08' and '7d328b30bc18c77fc3de6e2870b9b576fac4ab1c'
author Etan Reisner <pidgin@unreliablesource.net>
date Tue, 09 Jun 2009 23:30:18 +0000
parents 804141095de5
children 54de7746e148 fb593c327870
line wrap: on
line diff
--- a/pidgin/gtkimhtml.c	Fri May 22 00:38:45 2009 +0000
+++ b/pidgin/gtkimhtml.c	Tue Jun 09 23:30:18 2009 +0000
@@ -3867,12 +3867,15 @@
 }
 
 static void
-gtk_imhtml_custom_smiley_save(GtkWidget *w, GtkIMHtmlImage *image)
-{
+gtk_imhtml_custom_smiley_save(GtkWidget *w, GtkIMHtmlImageSave *save)
+{
+	GtkIMHtmlImage *image = (GtkIMHtmlImage *)save->image;
+	
 	/* Create an add dialog */
 	PidginSmiley *editor = pidgin_smiley_edit(NULL, NULL);
 	pidgin_smiley_editor_set_shortcut(editor, image->filename);
 	pidgin_smiley_editor_set_image(editor, image->pixbuf);
+	pidgin_smiley_editor_set_data(editor, save->data, save->datasize);
 }
 
 /*
@@ -3907,7 +3910,7 @@
 				item = gtk_image_menu_item_new_with_mnemonic(_("_Add Custom Smiley..."));
 				gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), img);
 				g_signal_connect(G_OBJECT(item), "activate",
-								 G_CALLBACK(gtk_imhtml_custom_smiley_save), image);
+								 G_CALLBACK(gtk_imhtml_custom_smiley_save), save);
 				gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
 			}
 
@@ -5062,6 +5065,7 @@
 			gtk_widget_show(img);
 			g_object_set_data_full(G_OBJECT(anchor), "gtkimhtml_plaintext", text, g_free);
 			g_object_set_data(G_OBJECT(anchor), "gtkimhtml_tiptext", text);
+			g_object_set_data_full(G_OBJECT(anchor), "gtkimhtml_htmltext", g_strdup(smiley), g_free);
 			gtk_text_view_add_child_at_anchor(GTK_TEXT_VIEW(imhtml), ebox, anchor);
 		}
 	} else {