diff options
author | Sébastien Wilmet <swilmet@gnome.org> | 2013-04-04 13:30:42 +0200 |
---|---|---|
committer | Sébastien Wilmet <swilmet@gnome.org> | 2014-05-12 19:10:30 +0200 |
commit | 1e3af04dd9a61e2acde4bf86de4f69a24fcb3e22 (patch) | |
tree | a945260d7a194b44c56f8c30bfe0663998134071 /gtk/gtktextbuffer.c | |
parent | 68ad33cb89329cf8161dbd1e868097ac1829c16d (diff) | |
download | gtk+-1e3af04dd9a61e2acde4bf86de4f69a24fcb3e22.tar.gz |
gtk_text_buffer_create_tag(): returns NULL on failure
Returns NULL in case of a duplicated tag name in the tag table. It is
still a programmer error to duplicate a name, but if it happens the
behavior is a little nicer (and hopefully doesn't crash).
https://bugzilla.gnome.org/show_bug.cgi?id=614717
Diffstat (limited to 'gtk/gtktextbuffer.c')
-rw-r--r-- | gtk/gtktextbuffer.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gtk/gtktextbuffer.c b/gtk/gtktextbuffer.c index e562c331ec..6a03b55f2a 100644 --- a/gtk/gtktextbuffer.c +++ b/gtk/gtktextbuffer.c @@ -2493,7 +2493,11 @@ gtk_text_buffer_create_tag (GtkTextBuffer *buffer, tag = gtk_text_tag_new (tag_name); - gtk_text_tag_table_add (get_table (buffer), tag); + if (!gtk_text_tag_table_add (get_table (buffer), tag)) + { + g_object_unref (tag); + return NULL; + } if (first_property_name) { |