diff --git a/gtk/gtkbuilderparser.c b/gtk/gtkbuilderparser.c index 6e42972e90..11e04cb506 100644 --- a/gtk/gtkbuilderparser.c +++ b/gtk/gtkbuilderparser.c @@ -1128,16 +1128,16 @@ end_element (GMarkupParseContext *context, if (prop_info->translatable && prop_info->text->len) { - prop_info->data = g_strdup (_gtk_builder_parser_translate (data->domain, - prop_info->context, - prop_info->text->str)); - g_string_free (prop_info->text, TRUE); - } - else - { - prop_info->data = g_string_free (prop_info->text, FALSE); + const gchar *translated; + + translated = _gtk_builder_parser_translate (data->domain, + prop_info->context, + prop_info->text->str); + g_string_assign (prop_info->text, translated); } + prop_info->data = g_string_free (prop_info->text, FALSE); + object_info->properties = g_slist_prepend (object_info->properties, prop_info); } diff --git a/gtk/gtkcelllayout.c b/gtk/gtkcelllayout.c index 4f6425de8b..a6d33aa8f7 100644 --- a/gtk/gtkcelllayout.c +++ b/gtk/gtkcelllayout.c @@ -820,8 +820,7 @@ cell_packing_end_element (GMarkupParseContext *context, translated = _gtk_builder_parser_translate (domain, parser_data->context, parser_data->string->str); - g_string_set_size (parser_data->string, 0); - g_string_append (parser_data->string, translated); + g_string_assign (parser_data->string, translated); } if (parser_data->cell_prop_name) diff --git a/gtk/gtkcomboboxtext.c b/gtk/gtkcomboboxtext.c index a81c8441e8..0de9124b07 100644 --- a/gtk/gtkcomboboxtext.c +++ b/gtk/gtkcomboboxtext.c @@ -240,8 +240,7 @@ item_end_element (GMarkupParseContext *context, translated = _gtk_builder_parser_translate (data->domain, data->context, data->string->str); - g_string_set_size (data->string, 0); - g_string_append (data->string, translated); + g_string_assign (data->string, translated); } gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (data->object), data->id, data->string->str); diff --git a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c index a30420d532..636a02e825 100644 --- a/gtk/gtkcontainer.c +++ b/gtk/gtkcontainer.c @@ -667,17 +667,15 @@ attributes_end_element (GMarkupParseContext *context, /* translate the string */ if (parser_data->string->len && parser_data->translatable) { - gchar *translated; + const gchar *translated; const gchar *domain; domain = gtk_builder_get_translation_domain (parser_data->builder); - translated = g_strdup (_gtk_builder_parser_translate (domain, - parser_data->context, - parser_data->string->str)); - g_string_set_size (parser_data->string, 0); - g_string_append (parser_data->string, translated); - g_free (translated); + translated = _gtk_builder_parser_translate (domain, + parser_data->context, + parser_data->string->str); + g_string_assign (parser_data->string, translated); } if (parser_data->child_prop_name)