diff options
author | treectrl <treectrl> | 2005-05-17 01:24:09 (GMT) |
---|---|---|
committer | treectrl <treectrl> | 2005-05-17 01:24:09 (GMT) |
commit | 1cade0ff673fca8cc53db9993ed1e8d7e7f6aeda (patch) | |
tree | 81a300ff84fbb1ac06c3c0902cbd390ae59169a0 /generic/tkTreeItem.c | |
parent | e4060025411cc4572fbeed4d5b5ad72ee703e18e (diff) | |
download | tktreectrl-1cade0ff673fca8cc53db9993ed1e8d7e7f6aeda.zip tktreectrl-1cade0ff673fca8cc53db9993ed1e8d7e7f6aeda.tar.gz tktreectrl-1cade0ff673fca8cc53db9993ed1e8d7e7f6aeda.tar.bz2 |
ALLOC_HAX: play games with memory allocation for speed boost.
Diffstat (limited to 'generic/tkTreeItem.c')
-rw-r--r-- | generic/tkTreeItem.c | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/generic/tkTreeItem.c b/generic/tkTreeItem.c index a86a5e7..e93dc95 100644 --- a/generic/tkTreeItem.c +++ b/generic/tkTreeItem.c @@ -5,7 +5,7 @@ * * Copyright (c) 2002-2005 Tim Baker * - * RCS: @(#) $Id: tkTreeItem.c,v 1.32 2005/05/14 22:16:29 treectrl Exp $ + * RCS: @(#) $Id: tkTreeItem.c,v 1.33 2005/05/17 01:24:09 treectrl Exp $ */ #include "tkTreeCtrl.h" @@ -60,9 +60,13 @@ static Tk_OptionSpec itemOptionSpecs[] = { /*****/ -static Column *Column_Alloc(void) +static Column *Column_Alloc(TreeCtrl *tree) { +#ifdef ALLOC_HAX + Column *column = (Column *) AllocHax_Alloc(tree->allocData, sizeof(Column)); +#else Column *column = (Column *) ckalloc(sizeof(Column)); +#endif memset(column, '\0', sizeof(Column)); return column; } @@ -129,7 +133,11 @@ Column *Column_FreeResources(TreeCtrl *tree, Column *self) if (self->style != NULL) TreeStyle_FreeResources(tree, self->style); +#ifdef ALLOC_HAX + AllocHax_Free(tree->allocData, self, sizeof(Column)); +#else WFREE(self, Column); +#endif return next; } @@ -194,7 +202,11 @@ void Tree_UpdateItemIndex(TreeCtrl *tree) static Item *Item_Alloc(TreeCtrl *tree) { +#ifdef ALLOC_HAX + Item *item = (Item *) AllocHax_Alloc(tree->allocData, sizeof(Item)); +#else Item *item = (Item *) ckalloc(sizeof(Item)); +#endif memset(item, '\0', sizeof(Item)); if (Tk_InitOptions(tree->interp, (char *) item, tree->itemOptionTable, tree->tkwin) != TCL_OK) @@ -1301,14 +1313,14 @@ static Column *Item_CreateColumn(TreeCtrl *tree, Item *self, int columnIndex, in if (isNew != NULL) (*isNew) = FALSE; column = self->columns; if (column == NULL) { - column = Column_Alloc(); + column = Column_Alloc(tree); column->neededWidth = column->neededHeight = -1; self->columns = column; if (isNew != NULL) (*isNew) = TRUE; } for (i = 0; i < columnIndex; i++) { if (column->next == NULL) { - column->next = Column_Alloc(); + column->next = Column_Alloc(tree); column->next->neededWidth = column->next->neededHeight = -1; if (isNew != NULL) (*isNew) = TRUE; } @@ -1347,7 +1359,7 @@ void TreeItem_MoveColumn(TreeCtrl *tree, TreeItem item, int columnIndex, int bef if (move == NULL && before == NULL) return; if (move == NULL) - move = Column_Alloc(); + move = Column_Alloc(tree); else { if (before == NULL) { prevB = Item_CreateColumn(tree, self, beforeIndex - 1, NULL); @@ -1382,7 +1394,11 @@ void TreeItem_FreeResources(TreeCtrl *tree, TreeItem item_) Tree_FreeItemDInfo(tree, item_, NULL); if (self->rInfo != NULL) Tree_FreeItemRInfo(tree, item_); +#ifdef ALLOC_HAX + AllocHax_Free(tree->allocData, self, sizeof(Item)); +#else WFREE(self, Item); +#endif } int TreeItem_NeededHeight(TreeCtrl *tree, TreeItem item_) |