diff options
author | jenglish@flightlab.com <jenglish> | 2010-10-11 21:34:45 (GMT) |
---|---|---|
committer | jenglish@flightlab.com <jenglish> | 2010-10-11 21:34:45 (GMT) |
commit | 792665e573ded9504cd506f2513053e51594e7e8 (patch) | |
tree | ab51d96c180845d6c165b2daec6782369de0feca /generic/ttk/ttkTreeview.c | |
parent | fe2a2aac8406bbbffb0000de95bb1f79bd1b7e17 (diff) | |
download | tk-792665e573ded9504cd506f2513053e51594e7e8.zip tk-792665e573ded9504cd506f2513053e51594e7e8.tar.gz tk-792665e573ded9504cd506f2513053e51594e7e8.tar.bz2 |
Fix crash in 'tag add' / 'tag remove' when no -tags specified [SF#3085489].
Diffstat (limited to 'generic/ttk/ttkTreeview.c')
-rw-r--r-- | generic/ttk/ttkTreeview.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/generic/ttk/ttkTreeview.c b/generic/ttk/ttkTreeview.c index 899ab17..d7afb3c 100644 --- a/generic/ttk/ttkTreeview.c +++ b/generic/ttk/ttkTreeview.c @@ -1,4 +1,4 @@ -/* $Id: ttkTreeview.c,v 1.40 2010/09/08 17:57:07 jenglish Exp $ +/* $Id: ttkTreeview.c,v 1.41 2010/10/11 21:34:45 jenglish Exp $ * Copyright (c) 2004, Joe English * * ttk::treeview widget implementation. @@ -3140,7 +3140,7 @@ static int TreeviewTagNamesCommand( static void AddTag(TreeItem *item, Ttk_Tag tag) { if (Ttk_TagSetAdd(item->tagset, tag)) { - Tcl_DecrRefCount(item->tagsObj); + if (item->tagsObj) Tcl_DecrRefCount(item->tagsObj); item->tagsObj = Ttk_NewTagSetObj(item->tagset); Tcl_IncrRefCount(item->tagsObj); } @@ -3173,12 +3173,12 @@ static int TreeviewTagAddCommand( return TCL_OK; } -/* + $tv tag remove $tag $items +/* + $tv tag remove $tag ?$items? */ static void RemoveTag(TreeItem *item, Ttk_Tag tag) { if (Ttk_TagSetRemove(item->tagset, tag)) { - Tcl_DecrRefCount(item->tagsObj); + if (item->tagsObj) Tcl_DecrRefCount(item->tagsObj); item->tagsObj = Ttk_NewTagSetObj(item->tagset); Tcl_IncrRefCount(item->tagsObj); } |