summaryrefslogtreecommitdiffstats
path: root/generic/ttk
diff options
context:
space:
mode:
authorjenglish@flightlab.com <jenglish>2010-10-11 21:34:45 (GMT)
committerjenglish@flightlab.com <jenglish>2010-10-11 21:34:45 (GMT)
commit792665e573ded9504cd506f2513053e51594e7e8 (patch)
treeab51d96c180845d6c165b2daec6782369de0feca /generic/ttk
parentfe2a2aac8406bbbffb0000de95bb1f79bd1b7e17 (diff)
downloadtk-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')
-rw-r--r--generic/ttk/ttkTreeview.c8
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);
}