Mercurial > pidgin
comparison 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 |
comparison
equal
deleted
inserted
replaced
5419:ab1cb8b5e42b | 5420:c54cb8f8655f |
---|---|
1130 | 1130 |
1131 static GtkWidget *plugin_description=NULL, *plugin_details=NULL; | 1131 static GtkWidget *plugin_description=NULL, *plugin_details=NULL; |
1132 | 1132 |
1133 static void prefs_plugin_sel (GtkTreeSelection *sel, GtkTreeModel *model) | 1133 static void prefs_plugin_sel (GtkTreeSelection *sel, GtkTreeModel *model) |
1134 { | 1134 { |
1135 gchar buf[1024]; | 1135 gchar *buf, *pname, *perr, *pdesc, *pauth, *pweb; |
1136 GtkTreeIter iter; | 1136 GtkTreeIter iter; |
1137 GValue val = { 0, }; | 1137 GValue val = { 0, }; |
1138 GaimPlugin *plug; | 1138 GaimPlugin *plug; |
1139 | 1139 |
1140 if (! gtk_tree_selection_get_selected (sel, &model, &iter)) | 1140 if (! gtk_tree_selection_get_selected (sel, &model, &iter)) |
1141 return; | 1141 return; |
1142 gtk_tree_model_get_value (model, &iter, 2, &val); | 1142 gtk_tree_model_get_value (model, &iter, 2, &val); |
1143 plug = g_value_get_pointer(&val); | 1143 plug = g_value_get_pointer(&val); |
1144 | 1144 |
1145 pname = g_markup_escape_text(_(plug->info->name), -1); | |
1146 pdesc = g_markup_escape_text(_(plug->info->description), -1); | |
1147 pauth = g_markup_escape_text(_(plug->info->author), -1); | |
1148 pweb = g_markup_escape_text(_(plug->info->homepage), -1); | |
1145 if (plug->error != NULL) { | 1149 if (plug->error != NULL) { |
1146 g_snprintf(buf, sizeof(buf), | 1150 perr = g_markup_escape_text(_(plug->error), -1); |
1147 "<span size=\"larger\">%s %s</span>\n\n" | 1151 buf = g_strdup_printf( |
1148 "<span weight=\"bold\" color=\"red\">%s</span>\n\n" | 1152 "<span size=\"larger\">%s %s</span>\n\n" |
1149 "%s", | 1153 "<span weight=\"bold\" color=\"red\">%s</span>\n\n" |
1150 g_markup_escape_text(_(plug->info->name), -1), | 1154 "%s", |
1151 plug->info->version, | 1155 pname, plug->info->version, perr, pdesc); |
1152 g_markup_escape_text(plug->error, -1), | 1156 g_free(perr); |
1153 g_markup_escape_text(_(plug->info->description), -1)); | |
1154 } | 1157 } |
1155 else { | 1158 else { |
1156 g_snprintf(buf, sizeof(buf), | 1159 buf = g_strdup_printf( |
1157 "<span size=\"larger\">%s %s</span>\n\n%s", | 1160 "<span size=\"larger\">%s %s</span>\n\n%s", |
1158 g_markup_escape_text(_(plug->info->name), -1), | 1161 pname, plug->info->version, pdesc); |
1159 plug->info->version, | 1162 } |
1160 g_markup_escape_text(_(plug->info->description), -1)); | |
1161 } | |
1162 | |
1163 gtk_label_set_markup(GTK_LABEL(plugin_description), buf); | 1163 gtk_label_set_markup(GTK_LABEL(plugin_description), buf); |
1164 g_snprintf(buf, sizeof(buf), | 1164 g_free(buf); |
1165 | |
1166 buf = g_strdup_printf( | |
1165 #ifndef _WIN32 | 1167 #ifndef _WIN32 |
1166 _("<span size=\"larger\">%s %s</span>\n\n" | 1168 _("<span size=\"larger\">%s %s</span>\n\n" |
1167 "<span weight=\"bold\">Written by:</span>\t%s\n" | 1169 "<span weight=\"bold\">Written by:</span>\t%s\n" |
1168 "<span weight=\"bold\">Web site:</span>\t\t%s\n" | 1170 "<span weight=\"bold\">Web site:</span>\t\t%s\n" |
1169 "<span weight=\"bold\">File name:</span>\t%s"), | 1171 "<span weight=\"bold\">File name:</span>\t%s"), |
1171 _("<span size=\"larger\">%s %s</span>\n\n" | 1173 _("<span size=\"larger\">%s %s</span>\n\n" |
1172 "<span weight=\"bold\">Written by:</span> %s\n" | 1174 "<span weight=\"bold\">Written by:</span> %s\n" |
1173 "<span weight=\"bold\">URL:</span> %s\n" | 1175 "<span weight=\"bold\">URL:</span> %s\n" |
1174 "<span weight=\"bold\">File name:</span> %s"), | 1176 "<span weight=\"bold\">File name:</span> %s"), |
1175 #endif | 1177 #endif |
1176 g_markup_escape_text(_(plug->info->name), -1), | 1178 pname, plug->info->version, pauth, pweb, plug->path); |
1177 plug->info->version, | |
1178 g_markup_escape_text(_(plug->info->author), -1), | |
1179 g_markup_escape_text(plug->info->homepage, -1), | |
1180 plug->path); | |
1181 | 1179 |
1182 gtk_label_set_markup(GTK_LABEL(plugin_details), buf); | 1180 gtk_label_set_markup(GTK_LABEL(plugin_details), buf); |
1183 g_value_unset (&val); | 1181 g_value_unset(&val); |
1182 g_free(buf); | |
1183 g_free(pname); | |
1184 g_free(pdesc); | |
1185 g_free(pauth); | |
1186 g_free(pweb); | |
1184 } | 1187 } |
1185 | 1188 |
1186 static void plugin_load (GtkCellRendererToggle *cell, gchar *pth, gpointer data) | 1189 static void plugin_load (GtkCellRendererToggle *cell, gchar *pth, gpointer data) |
1187 { | 1190 { |
1188 GtkTreeModel *model = (GtkTreeModel *)data; | 1191 GtkTreeModel *model = (GtkTreeModel *)data; |