comparison src/gtkrequest.c @ 10774:d83f745c997b

[gaim-migrate @ 12383] Some escaping stuff, all over the place. Various escaping fixes in the IRC prpl. The core and plugins only need to escape text if it's going to be shown in a gtkimhtml or equivalent - such as writing to a conversation window, or gaim_notify_{formatted,userinfo} The primary and secondary text for all notify and request API functions do NOT need to be escaped by the core or plugins, because whether html-like markup is required for these is UI dependent. Now we always escape these in the Gtk UI request & notify ops. Should I backport any of the above to oldstatus? I also removed gaim_chat_get_display_name() - it was almost a duplicate of gaim_chat_get_name(), and it leaked. committer: Tailor Script <tailor@pidgin.im>
author Stu Tomlinson <stu@nosnilmot.com>
date Sat, 02 Apr 2005 17:18:43 +0000
parents 179b0245a2f7
children 2ab4b5acc8d1
comparison
equal deleted inserted replaced
10773:888d4c328be5 10774:d83f745c997b
284 GtkWidget *label; 284 GtkWidget *label;
285 GtkWidget *entry; 285 GtkWidget *entry;
286 GtkWidget *img; 286 GtkWidget *img;
287 GtkWidget *toolbar; 287 GtkWidget *toolbar;
288 char *label_text; 288 char *label_text;
289 char *primary_esc, *secondary_esc;
289 290
290 data = g_new0(GaimGtkRequestData, 1); 291 data = g_new0(GaimGtkRequestData, 1);
291 data->type = GAIM_REQUEST_INPUT; 292 data->type = GAIM_REQUEST_INPUT;
292 data->user_data = user_data; 293 data->user_data = user_data;
293 294
330 vbox = gtk_vbox_new(FALSE, 12); 331 vbox = gtk_vbox_new(FALSE, 12);
331 332
332 gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0); 333 gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0);
333 334
334 /* Descriptive label */ 335 /* Descriptive label */
336 primary_esc = (primary != NULL) ? g_markup_escape_text(primary, -1) : NULL;
337 secondary_esc = (secondary != NULL) ? g_markup_escape_text(secondary, -1) : NULL;
335 label_text = g_strdup_printf((primary ? "<span weight=\"bold\" size=\"larger\">" 338 label_text = g_strdup_printf((primary ? "<span weight=\"bold\" size=\"larger\">"
336 "%s</span>%s%s" : "%s%s%s"), 339 "%s</span>%s%s" : "%s%s%s"),
337 (primary ? primary : ""), 340 (primary ? primary_esc : ""),
338 ((primary && secondary) ? "\n\n" : ""), 341 ((primary && secondary) ? "\n\n" : ""),
339 (secondary ? secondary : "")); 342 (secondary ? secondary_esc : ""));
343 g_free(primary_esc);
344 g_free(secondary_esc);
340 345
341 label = gtk_label_new(NULL); 346 label = gtk_label_new(NULL);
342 347
343 gtk_label_set_markup(GTK_LABEL(label), label_text); 348 gtk_label_set_markup(GTK_LABEL(label), label_text);
344 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); 349 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
433 GtkWidget *label; 438 GtkWidget *label;
434 GtkWidget *img; 439 GtkWidget *img;
435 GtkWidget *radio = NULL; 440 GtkWidget *radio = NULL;
436 char *label_text; 441 char *label_text;
437 char *radio_text; 442 char *radio_text;
443 char *primary_esc, *secondary_esc;
438 444
439 data = g_new0(GaimGtkRequestData, 1); 445 data = g_new0(GaimGtkRequestData, 1);
440 data->type = GAIM_REQUEST_ACTION; 446 data->type = GAIM_REQUEST_ACTION;
441 data->user_data = user_data; 447 data->user_data = user_data;
442 448
481 /* Vertical box */ 487 /* Vertical box */
482 vbox = gtk_vbox_new(FALSE, 12); 488 vbox = gtk_vbox_new(FALSE, 12);
483 gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0); 489 gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0);
484 490
485 /* Descriptive label */ 491 /* Descriptive label */
492 primary_esc = (primary != NULL) ? g_markup_escape_text(primary, -1) : NULL;
493 secondary_esc = (secondary != NULL) ? g_markup_escape_text(secondary, -1) : NULL;
486 label_text = g_strdup_printf((primary ? "<span weight=\"bold\" size=\"larger\">" 494 label_text = g_strdup_printf((primary ? "<span weight=\"bold\" size=\"larger\">"
487 "%s</span>%s%s" : "%s%s%s"), 495 "%s</span>%s%s" : "%s%s%s"),
488 (primary ? primary : ""), 496 (primary ? primary_esc : ""),
489 ((primary && secondary) ? "\n\n" : ""), 497 ((primary && secondary) ? "\n\n" : ""),
490 (secondary ? secondary : "")); 498 (secondary ? secondary_esc : ""));
499 g_free(primary_esc);
500 g_free(secondary_esc);
491 501
492 label = gtk_label_new(NULL); 502 label = gtk_label_new(NULL);
493 503
494 gtk_label_set_markup(GTK_LABEL(label), label_text); 504 gtk_label_set_markup(GTK_LABEL(label), label_text);
495 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); 505 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
528 GtkWidget *hbox; 538 GtkWidget *hbox;
529 GtkWidget *label; 539 GtkWidget *label;
530 GtkWidget *img; 540 GtkWidget *img;
531 void **buttons; 541 void **buttons;
532 char *label_text; 542 char *label_text;
543 char *primary_esc, *secondary_esc;
533 int i; 544 int i;
534 545
535 data = g_new0(GaimGtkRequestData, 1); 546 data = g_new0(GaimGtkRequestData, 1);
536 data->type = GAIM_REQUEST_ACTION; 547 data->type = GAIM_REQUEST_ACTION;
537 data->user_data = user_data; 548 data->user_data = user_data;
585 /* Vertical box */ 596 /* Vertical box */
586 vbox = gtk_vbox_new(FALSE, 12); 597 vbox = gtk_vbox_new(FALSE, 12);
587 gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0); 598 gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0);
588 599
589 /* Descriptive label */ 600 /* Descriptive label */
601 primary_esc = (primary != NULL) ? g_markup_escape_text(primary, -1) : NULL;
602 secondary_esc = (secondary != NULL) ? g_markup_escape_text(secondary, -1) : NULL;
590 label_text = g_strdup_printf((primary ? "<span weight=\"bold\" size=\"larger\">" 603 label_text = g_strdup_printf((primary ? "<span weight=\"bold\" size=\"larger\">"
591 "%s</span>%s%s" : "%s%s%s"), 604 "%s</span>%s%s" : "%s%s%s"),
592 (primary ? primary : ""), 605 (primary ? primary_esc : ""),
593 ((primary && secondary) ? "\n\n" : ""), 606 ((primary && secondary) ? "\n\n" : ""),
594 (secondary ? secondary : "")); 607 (secondary ? secondary_esc : ""));
608 g_free(primary_esc);
609 g_free(secondary_esc);
595 610
596 label = gtk_label_new(NULL); 611 label = gtk_label_new(NULL);
597 612
598 gtk_label_set_markup(GTK_LABEL(label), label_text); 613 gtk_label_set_markup(GTK_LABEL(label), label_text);
599 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); 614 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
1232 GtkSizeGroup *sg; 1247 GtkSizeGroup *sg;
1233 GList *gl, *fl; 1248 GList *gl, *fl;
1234 GaimRequestFieldGroup *group; 1249 GaimRequestFieldGroup *group;
1235 GaimRequestField *field; 1250 GaimRequestField *field;
1236 char *label_text; 1251 char *label_text;
1252 char *primary_esc, *secondary_esc;
1237 int total_fields = 0; 1253 int total_fields = 0;
1238 1254
1239 data = g_new0(GaimGtkRequestData, 1); 1255 data = g_new0(GaimGtkRequestData, 1);
1240 data->type = GAIM_REQUEST_FIELDS; 1256 data->type = GAIM_REQUEST_FIELDS;
1241 data->user_data = user_data; 1257 data->user_data = user_data;
1279 gtk_widget_show(vbox); 1295 gtk_widget_show(vbox);
1280 1296
1281 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); 1297 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
1282 1298
1283 if(primary) { 1299 if(primary) {
1300 primary_esc = g_markup_escape_text(primary, -1);
1284 label_text = g_strdup_printf( 1301 label_text = g_strdup_printf(
1285 "<span weight=\"bold\" size=\"larger\">%s</span>", primary); 1302 "<span weight=\"bold\" size=\"larger\">%s</span>", primary_esc);
1303 g_free(primary_esc);
1286 label = gtk_label_new(NULL); 1304 label = gtk_label_new(NULL);
1287 1305
1288 gtk_label_set_markup(GTK_LABEL(label), label_text); 1306 gtk_label_set_markup(GTK_LABEL(label), label_text);
1289 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); 1307 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
1290 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); 1308 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
1313 } else { 1331 } else {
1314 vbox2 = vbox; 1332 vbox2 = vbox;
1315 } 1333 }
1316 1334
1317 if (secondary) { 1335 if (secondary) {
1336 secondary_esc = g_markup_escape_text(secondary, -1);
1318 label = gtk_label_new(NULL); 1337 label = gtk_label_new(NULL);
1319 1338
1320 gtk_label_set_markup(GTK_LABEL(label), secondary); 1339 gtk_label_set_markup(GTK_LABEL(label), secondary_esc);
1340 g_free(secondary_esc);
1321 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); 1341 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
1322 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); 1342 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
1323 gtk_box_pack_start(GTK_BOX(vbox2), label, TRUE, TRUE, 0); 1343 gtk_box_pack_start(GTK_BOX(vbox2), label, TRUE, TRUE, 0);
1324 gtk_widget_show(label); 1344 gtk_widget_show(label);
1325 } 1345 }