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;