summaryrefslogtreecommitdiff
path: root/gtk/gtkcelllayout.c
diff options
context:
space:
mode:
authorKalev Lember <kalevlember@gmail.com>2013-06-07 14:12:14 +0200
committerKalev Lember <kalevlember@gmail.com>2013-06-08 10:54:25 +0200
commita37450110b74605041318a76dac51838953d406d (patch)
tree38f6926405adc3cc6e43dcff386b5391a0d0df35 /gtk/gtkcelllayout.c
parent6b6334803785cc658709a1ff419d2dcb38d0c27f (diff)
downloadgtk+-a37450110b74605041318a76dac51838953d406d.tar.gz
Fix string allocation handling with GtkBuilder translations
Use g_string_assign to avoid issues with assigning GString's internal buffer back to the same string. This can happen when no translations are available and _gtk_builder_parser_translate returns back the same pointer that was passed in. This fixes a regression from commit e9f182e37a7f6e2dc339054841a3c9f930f that caused GtkComboBoxText <items> from GtkBuilder to show up empty if no translations are available. https://bugzilla.gnome.org/show_bug.cgi?id=700629
Diffstat (limited to 'gtk/gtkcelllayout.c')
-rw-r--r--gtk/gtkcelllayout.c3
1 files changed, 1 insertions, 2 deletions
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)