summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfvogel <fvogelnew1@free.fr>2017-01-07 15:01:22 (GMT)
committerfvogel <fvogelnew1@free.fr>2017-01-07 15:01:22 (GMT)
commit3ccac6ac9f0becb6bb86517420e1c2c5f2dae06e (patch)
treec7e63809c08b57af95251b0d4833fdcd1664a52b
parent297d6b201c940ded0bf08c3e6302275f6e933241 (diff)
parent09433140c6105863a449e366525f67083a5295aa (diff)
downloadtk-3ccac6ac9f0becb6bb86517420e1c2c5f2dae06e.zip
tk-3ccac6ac9f0becb6bb86517420e1c2c5f2dae06e.tar.gz
tk-3ccac6ac9f0becb6bb86517420e1c2c5f2dae06e.tar.bz2
Fix [3df559ef7c] - Negative bbox width on OS X.
-rw-r--r--generic/tkTextDisp.c2
-rw-r--r--unix/tkUnixFont.c5
-rw-r--r--win/tkWinFont.c6
3 files changed, 10 insertions, 3 deletions
diff --git a/generic/tkTextDisp.c b/generic/tkTextDisp.c
index 1c4925d..e984bb6 100644
--- a/generic/tkTextDisp.c
+++ b/generic/tkTextDisp.c
@@ -7819,7 +7819,7 @@ CharChunkMeasureChars(
MeasureChars(tkfont, chars, charsLen, 0, bstart,
0, -1, 0, &widthUntilStart);
- xDisplacement = startX - widthUntilStart - chunkPtr->x;
+ xDisplacement = startX - widthUntilStart - ciPtr->baseChunkPtr->x;
}
fit = MeasureChars(tkfont, chars, charsLen, 0, bend,
diff --git a/unix/tkUnixFont.c b/unix/tkUnixFont.c
index c96e562..e5aceb1 100644
--- a/unix/tkUnixFont.c
+++ b/unix/tkUnixFont.c
@@ -1414,10 +1414,13 @@ TkpDrawCharsInContext(
* whole (not just the range) string when
* drawing. */
{
+ int widthUntilStart;
+
(void) numBytes; /*unused*/
+ Tk_MeasureChars(tkfont, source, rangeStart, -1, 0, &widthUntilStart);
Tk_DrawChars(display, drawable, gc, tkfont, source + rangeStart,
- rangeLength, x, y);
+ rangeLength, x+widthUntilStart, y);
}
/*
diff --git a/win/tkWinFont.c b/win/tkWinFont.c
index 021ae1c..d0e3309 100644
--- a/win/tkWinFont.c
+++ b/win/tkWinFont.c
@@ -1407,9 +1407,13 @@ TkpDrawCharsInContext(
* whole (not just the range) string when
* drawing. */
{
+ int widthUntilStart;
+
(void) numBytes; /*unused*/
+
+ Tk_MeasureChars(tkfont, source, rangeStart, -1, 0, &widthUntilStart);
Tk_DrawChars(display, drawable, gc, tkfont, source + rangeStart,
- rangeLength, x, y);
+ rangeLength, x+widthUntilStart, y);
}
/*