summaryrefslogtreecommitdiffstats
path: root/generic/tkTreeColumn.c
diff options
context:
space:
mode:
authortreectrl <treectrl>2002-12-20 00:53:53 (GMT)
committertreectrl <treectrl>2002-12-20 00:53:53 (GMT)
commite0ed1bf40a4fe024c5b835a3caccaddbb9492adb (patch)
tree826156f46a235129cc617ed7c69428643f08ee9d /generic/tkTreeColumn.c
parentf00c0e5416696124a8a99fda5917539ab1b6ceb4 (diff)
downloadtktreectrl-e0ed1bf40a4fe024c5b835a3caccaddbb9492adb.zip
tktreectrl-e0ed1bf40a4fe024c5b835a3caccaddbb9492adb.tar.gz
tktreectrl-e0ed1bf40a4fe024c5b835a3caccaddbb9492adb.tar.bz2
Fix for multi-byte strings.
Diffstat (limited to 'generic/tkTreeColumn.c')
-rw-r--r--generic/tkTreeColumn.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/generic/tkTreeColumn.c b/generic/tkTreeColumn.c
index 6d43e1f..c700090 100644
--- a/generic/tkTreeColumn.c
+++ b/generic/tkTreeColumn.c
@@ -4,6 +4,7 @@ typedef struct Column Column;
struct Column
{
+ Tcl_Obj *textObj; /* -text */
char *text; /* -text */
int width; /* -width */
Tcl_Obj *widthObj; /* -width */
@@ -140,7 +141,7 @@ static Tk_OptionSpec columnSpecs[] = {
(char *) NULL, -1, Tk_Offset(Column, tag),
TK_OPTION_NULL_OK, (ClientData) NULL, COLU_CONF_TAG},
{TK_OPTION_STRING, "-text", (char *) NULL, (char *) NULL,
- (char *) NULL, -1, Tk_Offset(Column, text),
+ (char *) NULL, Tk_Offset(Column, textObj), Tk_Offset(Column, text),
TK_OPTION_NULL_OK, (ClientData) NULL,
COLU_CONF_TEXT | COLU_CONF_NWIDTH | COLU_CONF_NHEIGHT | COLU_CONF_DISPLAY},
{TK_OPTION_COLOR, "-textcolor", (char *) NULL, (char *) NULL,
@@ -406,7 +407,10 @@ static int Column_Config(Column *column, int objc, Tcl_Obj *CONST objv[])
if (mask & COLU_CONF_TEXT)
{
- column->textLen = column->text ? strlen(column->text) : 0;
+ if (column->textObj != NULL)
+ (void) Tcl_GetStringFromObj(column->textObj, &column->textLen);
+ else
+ column->textLen = 0;
if (column->textLen)
{
Tk_Font tkfont = column->tkfont ? column->tkfont : tree->tkfont;