Mercurial > pidgin.yaz
diff src/prefs.c @ 5420:c54cb8f8655f
[gaim-migrate @ 5799]
This fixes a memleak on the preferences plugins page thing, and I changed
some static buffers to dynamic stuff in oscar.c. Wheeeee.
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sun, 18 May 2003 02:47:53 +0000 |
parents | 1f901484599d |
children | af62169c74fd |
line wrap: on
line diff
--- a/src/prefs.c Sun May 18 01:19:03 2003 +0000 +++ b/src/prefs.c Sun May 18 02:47:53 2003 +0000 @@ -1132,7 +1132,7 @@ static void prefs_plugin_sel (GtkTreeSelection *sel, GtkTreeModel *model) { - gchar buf[1024]; + gchar *buf, *pname, *perr, *pdesc, *pauth, *pweb; GtkTreeIter iter; GValue val = { 0, }; GaimPlugin *plug; @@ -1142,26 +1142,28 @@ gtk_tree_model_get_value (model, &iter, 2, &val); plug = g_value_get_pointer(&val); + pname = g_markup_escape_text(_(plug->info->name), -1); + pdesc = g_markup_escape_text(_(plug->info->description), -1); + pauth = g_markup_escape_text(_(plug->info->author), -1); + pweb = g_markup_escape_text(_(plug->info->homepage), -1); if (plug->error != NULL) { - g_snprintf(buf, sizeof(buf), - "<span size=\"larger\">%s %s</span>\n\n" - "<span weight=\"bold\" color=\"red\">%s</span>\n\n" - "%s", - g_markup_escape_text(_(plug->info->name), -1), - plug->info->version, - g_markup_escape_text(plug->error, -1), - g_markup_escape_text(_(plug->info->description), -1)); + perr = g_markup_escape_text(_(plug->error), -1); + buf = g_strdup_printf( + "<span size=\"larger\">%s %s</span>\n\n" + "<span weight=\"bold\" color=\"red\">%s</span>\n\n" + "%s", + pname, plug->info->version, perr, pdesc); + g_free(perr); } else { - g_snprintf(buf, sizeof(buf), - "<span size=\"larger\">%s %s</span>\n\n%s", - g_markup_escape_text(_(plug->info->name), -1), - plug->info->version, - g_markup_escape_text(_(plug->info->description), -1)); + buf = g_strdup_printf( + "<span size=\"larger\">%s %s</span>\n\n%s", + pname, plug->info->version, pdesc); } - gtk_label_set_markup(GTK_LABEL(plugin_description), buf); - g_snprintf(buf, sizeof(buf), + g_free(buf); + + buf = g_strdup_printf( #ifndef _WIN32 _("<span size=\"larger\">%s %s</span>\n\n" "<span weight=\"bold\">Written by:</span>\t%s\n" @@ -1173,14 +1175,15 @@ "<span weight=\"bold\">URL:</span> %s\n" "<span weight=\"bold\">File name:</span> %s"), #endif - g_markup_escape_text(_(plug->info->name), -1), - plug->info->version, - g_markup_escape_text(_(plug->info->author), -1), - g_markup_escape_text(plug->info->homepage, -1), - plug->path); + pname, plug->info->version, pauth, pweb, plug->path); gtk_label_set_markup(GTK_LABEL(plugin_details), buf); - g_value_unset (&val); + g_value_unset(&val); + g_free(buf); + g_free(pname); + g_free(pdesc); + g_free(pauth); + g_free(pweb); } static void plugin_load (GtkCellRendererToggle *cell, gchar *pth, gpointer data)