comparison src/gtkblist.c @ 13509:56abb67edec9

[gaim-migrate @ 15885] SF Patch #1446694 from Sadrul "When you start editing the alias of a buddy with weird (non-ascii) characters in it, the text for that node (and sometimes an adjacent row) get corrupted. This patch fixes that." committer: Tailor Script <tailor@pidgin.im>
author Richard Laager <rlaager@wiktel.com>
date Tue, 14 Mar 2006 07:25:54 +0000
parents 38dcde2c8c4b
children 65486b7e8e45
comparison
equal deleted inserted replaced
13508:9710aeb12c0d 13509:56abb67edec9
337 static void gtk_blist_menu_alias_cb(GtkWidget *w, GaimBlistNode *node) 337 static void gtk_blist_menu_alias_cb(GtkWidget *w, GaimBlistNode *node)
338 { 338 {
339 GtkTreeIter iter; 339 GtkTreeIter iter;
340 GtkTreePath *path; 340 GtkTreePath *path;
341 const char *text = NULL; 341 const char *text = NULL;
342 char *esc;
342 343
343 if (!(get_iter_from_node(node, &iter))) { 344 if (!(get_iter_from_node(node, &iter))) {
344 /* This is either a bug, or the buddy is in a collapsed contact */ 345 /* This is either a bug, or the buddy is in a collapsed contact */
345 node = node->parent; 346 node = node->parent;
346 if (!get_iter_from_node(node, &iter)) 347 if (!get_iter_from_node(node, &iter))
363 break; 364 break;
364 default: 365 default:
365 g_return_if_reached(); 366 g_return_if_reached();
366 } 367 }
367 368
368 gtk_tree_store_set(gtkblist->treemodel, &iter, NAME_COLUMN, text, -1); 369 esc = g_markup_escape_text(text, -1);
370 gtk_tree_store_set(gtkblist->treemodel, &iter, NAME_COLUMN, esc, -1);
371 g_free(esc);
369 372
370 path = gtk_tree_model_get_path(GTK_TREE_MODEL(gtkblist->treemodel), &iter); 373 path = gtk_tree_model_get_path(GTK_TREE_MODEL(gtkblist->treemodel), &iter);
371 g_object_set(G_OBJECT(gtkblist->text_rend), "editable", TRUE, NULL); 374 g_object_set(G_OBJECT(gtkblist->text_rend), "editable", TRUE, NULL);
372 gtk_tree_view_set_enable_search (GTK_TREE_VIEW(gtkblist->treeview), FALSE); 375 gtk_tree_view_set_enable_search (GTK_TREE_VIEW(gtkblist->treeview), FALSE);
373 gtk_widget_grab_focus(gtkblist->treeview); 376 gtk_widget_grab_focus(gtkblist->treeview);