diff options
author | Kalev Lember <kalevlember@gmail.com> | 2013-06-07 14:12:14 +0200 |
---|---|---|
committer | Kalev Lember <kalevlember@gmail.com> | 2013-06-08 10:54:25 +0200 |
commit | a37450110b74605041318a76dac51838953d406d (patch) | |
tree | 38f6926405adc3cc6e43dcff386b5391a0d0df35 /gtk/gtkcelllayout.c | |
parent | 6b6334803785cc658709a1ff419d2dcb38d0c27f (diff) | |
download | gtk+-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.c | 3 |
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) |