summaryrefslogtreecommitdiffstats
path: root/generic/tkGC.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2017-02-13 09:57:07 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2017-02-13 09:57:07 (GMT)
commit4a1828d3e7f328cce5d6b770ffbb6ea5a5373d0c (patch)
treeee4d9a63fa953072901b6d76880e60f81266dd78 /generic/tkGC.c
parent58dee83cb742162ddda8b91eb7a8132aebaa68b4 (diff)
downloadtk-4a1828d3e7f328cce5d6b770ffbb6ea5a5373d0c.zip
tk-4a1828d3e7f328cce5d6b770ffbb6ea5a5373d0c.tar.gz
tk-4a1828d3e7f328cce5d6b770ffbb6ea5a5373d0c.tar.bz2
Make tk.h work unchanged with Tcl 9.0 (novem), account for possible missing TCL_STORAGE_CLASS definition. More internal use of size_t in stead of int.
Diffstat (limited to 'generic/tkGC.c')
-rw-r--r--generic/tkGC.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/generic/tkGC.c b/generic/tkGC.c
index c424e30..55e5774 100644
--- a/generic/tkGC.c
+++ b/generic/tkGC.c
@@ -23,7 +23,7 @@
typedef struct {
GC gc; /* Graphics context. */
Display *display; /* Display to which gc belongs. */
- int refCount; /* Number of active uses of gc. */
+ size_t refCount; /* Number of active uses of gc. */
Tcl_HashEntry *valueHashPtr;/* Entry in valueTable (needed when deleting
* this structure). */
} TkGC;
@@ -312,8 +312,7 @@ Tk_FreeGC(
Tcl_Panic("Tk_FreeGC received unknown gc argument");
}
gcPtr = Tcl_GetHashValue(idHashPtr);
- gcPtr->refCount--;
- if (gcPtr->refCount == 0) {
+ if (gcPtr->refCount-- <= 1) {
XFreeGC(gcPtr->display, gcPtr->gc);
Tcl_DeleteHashEntry(gcPtr->valueHashPtr);
Tcl_DeleteHashEntry(idHashPtr);