summaryrefslogtreecommitdiff
path: root/gtk/gtktextbuffer.c
diff options
context:
space:
mode:
authorSébastien Wilmet <swilmet@gnome.org>2013-04-04 13:30:42 +0200
committerSébastien Wilmet <swilmet@gnome.org>2014-05-12 19:10:30 +0200
commit1e3af04dd9a61e2acde4bf86de4f69a24fcb3e22 (patch)
treea945260d7a194b44c56f8c30bfe0663998134071 /gtk/gtktextbuffer.c
parent68ad33cb89329cf8161dbd1e868097ac1829c16d (diff)
downloadgtk+-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.c6
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)
{