summaryrefslogtreecommitdiffstats
path: root/generic/tkTreeCtrl.c
diff options
context:
space:
mode:
authortreectrl <treectrl>2006-11-03 18:46:10 (GMT)
committertreectrl <treectrl>2006-11-03 18:46:10 (GMT)
commite50634a4bc429ba728bf53c99483a3943e98630f (patch)
treea7a030c90ff47de38acde654e7e13d9647789262 /generic/tkTreeCtrl.c
parentf4dec4d1d1c0ff1e320cdb83bb8ad25ce2639bc6 (diff)
downloadtktreectrl-e50634a4bc429ba728bf53c99483a3943e98630f.zip
tktreectrl-e50634a4bc429ba728bf53c99483a3943e98630f.tar.gz
tktreectrl-e50634a4bc429ba728bf53c99483a3943e98630f.tar.bz2
BG_MODE_INDEX and BG_MODE_VISINDEX wrapped in #ifdef DEPRECATED.
Fixed handling of Tcl_Obj with per-state custom options. Memory leak: TreeCtrl.defaultStyles wasn't freed when the treectrl was destroyed. Fix compilation when ALLOC_HAX is undefined.
Diffstat (limited to 'generic/tkTreeCtrl.c')
-rw-r--r--generic/tkTreeCtrl.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/generic/tkTreeCtrl.c b/generic/tkTreeCtrl.c
index bb6250f..f0f3f77 100644
--- a/generic/tkTreeCtrl.c
+++ b/generic/tkTreeCtrl.c
@@ -7,7 +7,7 @@
* Copyright (c) 2002-2003 Christian Krone
* Copyright (c) 2003-2005 ActiveState, a division of Sophos
*
- * RCS: @(#) $Id: tkTreeCtrl.c,v 1.77 2006/10/30 23:03:22 treectrl Exp $
+ * RCS: @(#) $Id: tkTreeCtrl.c,v 1.78 2006/11/03 18:46:10 treectrl Exp $
*/
#include "tkTreeCtrl.h"
@@ -42,7 +42,11 @@ typedef struct TreeImageRef {
} TreeImageRef;
static CONST char *bgModeST[] = {
- "column", "order", "ordervisible", "row", "index", "visindex", (char *) NULL
+ "column", "order", "ordervisible", "row",
+#ifdef DEPRECATED
+ "index", "visindex",
+#endif
+ (char *) NULL
};
static CONST char *columnResizeModeST[] = {
"proxy", "realtime", (char *) NULL
@@ -87,11 +91,13 @@ static Tk_OptionSpec optionSpecs[] = {
"#808080", -1, Tk_Offset(TreeCtrl, buttonColor),
0, (ClientData) NULL, TREE_CONF_BUTTON | TREE_CONF_REDISPLAY},
{TK_OPTION_CUSTOM, "-buttonbitmap", "buttonBitmap", "ButtonBitmap",
- (char *) NULL, -1, Tk_Offset(TreeCtrl, buttonBitmap),
+ (char *) NULL,
+ Tk_Offset(TreeCtrl, buttonBitmap.obj), Tk_Offset(TreeCtrl, buttonBitmap),
TK_OPTION_NULL_OK, (ClientData) NULL,
TREE_CONF_BUTTON | TREE_CONF_BUTBMP | TREE_CONF_RELAYOUT},
{TK_OPTION_CUSTOM, "-buttonimage", "buttonImage", "ButtonImage",
- (char *) NULL, -1, Tk_Offset(TreeCtrl, buttonImage),
+ (char *) NULL,
+ Tk_Offset(TreeCtrl, buttonImage.obj), Tk_Offset(TreeCtrl, buttonImage),
TK_OPTION_NULL_OK, (ClientData) NULL,
TREE_CONF_BUTTON | TREE_CONF_BUTIMG | TREE_CONF_RELAYOUT},
{TK_OPTION_PIXELS, "-buttonsize", "buttonSize", "ButtonSize",
@@ -1746,6 +1752,9 @@ TreeDestroy(
Tcl_DeleteHashTable(&tree->selection);
+ if (tree->defaultStyle.styles != NULL)
+ ckfree((char *) tree->defaultStyle.styles);
+
#ifdef ALLOC_HAX
AllocHax_Finalize(tree->allocData);
#endif
@@ -3264,11 +3273,13 @@ TreeDebugCmd(
/* T debug alloc */
case COMMAND_ALLOC:
{
+#ifdef ALLOC_HAX
#ifdef TREECTRL_DEBUG
AllocHax_Stats(interp, tree->allocData);
#else
FormatResult(interp, "TREECTRL_DEBUG is not defined");
#endif
+#endif
break;
}