# HG changeset patch # User Daniel Atallah # Date 1183917194 0 # Node ID f50a82a14122c4e34c3b179043843bb982e173a6 # Parent 45865fb3f4f93c9a6214c8e27eea70c5405a92f5 Fix #1727 and also plug a possible leak and make a little efficiency improvement to the win32 clipboard handling. diff -r 45865fb3f4f9 -r f50a82a14122 pidgin/gtkimhtml.c --- a/pidgin/gtkimhtml.c Sat Jul 07 04:03:41 2007 +0000 +++ b/pidgin/gtkimhtml.c Sun Jul 08 17:53:14 2007 +0000 @@ -216,7 +216,6 @@ clipboard_html_to_win32(char *html) { int length; GString *clipboard; - gchar *tmp; if (html == NULL) return NULL; @@ -224,13 +223,9 @@ length = strlen(html); clipboard = g_string_new ("Version:1.0\r\n"); g_string_append(clipboard, "StartHTML:0000000105\r\n"); - tmp = g_strdup_printf("EndHTML:%010d\r\n", 147 + length); - g_string_append(clipboard, tmp); - g_free(tmp); + g_string_append_printf(clipboard, "EndHTML:%010d\r\n", 147 + length); g_string_append(clipboard, "StartFragment:0000000127\r\n"); - tmp = g_strdup_printf("EndFragment:%010d\r\n", 127 + length); - g_string_append(clipboard, tmp); - g_free(tmp); + g_string_append_printf(clipboard, "EndFragment:%010d\r\n", 127 + length); g_string_append(clipboard, "\r\n"); g_string_append(clipboard, html); g_string_append(clipboard, "\r\n"); @@ -909,7 +904,7 @@ gtk_selection_data_set(selection_data, gdk_atom_intern("text/html", FALSE), 16, (const guchar *)selection, len); g_string_free(str, TRUE); #else - selection = clipboard_html_to_win32(imhtml->clipboard_html_string); + selection = clipboard_html_to_win32(html_clipboard); gtk_selection_data_set(selection_data, gdk_atom_intern("HTML Format", FALSE), 8, (const guchar *)selection, strlen(selection)); #endif g_free(selection); @@ -957,8 +952,8 @@ (GtkClipboardGetFunc)gtk_imhtml_clipboard_get, (GtkClipboardClearFunc)gtk_imhtml_clipboard_clear, G_OBJECT(imhtml)); - g_free(imhtml->clipboard_html_string); - g_free(imhtml->clipboard_text_string); + g_free(html_clipboard); + g_free(text_clipboard); imhtml->clipboard_html_string = gtk_imhtml_get_markup_range(imhtml, &start, &end); imhtml->clipboard_text_string = gtk_imhtml_get_text(imhtml, &start, &end); @@ -982,8 +977,8 @@ (GtkClipboardGetFunc)gtk_imhtml_clipboard_get, (GtkClipboardClearFunc)gtk_imhtml_clipboard_clear, G_OBJECT(imhtml)); - g_free(imhtml->clipboard_html_string); - g_free(imhtml->clipboard_text_string); + g_free(html_clipboard); + g_free(text_clipboard); imhtml->clipboard_html_string = gtk_imhtml_get_markup_range(imhtml, &start, &end); imhtml->clipboard_text_string = gtk_imhtml_get_text(imhtml, &start, &end);