summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Walzer <kw@codebykevin.com>2012-09-25 15:02:22 (GMT)
committerKevin Walzer <kw@codebykevin.com>2012-09-25 15:02:22 (GMT)
commit76b496f0bfca689da0edd9d4720dc3e4c2641ddc (patch)
treea14fcdac13403624a5b4d4989b5ba09c60b69a2e
parent339220e99733cbced9d80e6c99eeda651354b827 (diff)
downloadtk-76b496f0bfca689da0edd9d4720dc3e4c2641ddc.zip
tk-76b496f0bfca689da0edd9d4720dc3e4c2641ddc.tar.gz
tk-76b496f0bfca689da0edd9d4720dc3e4c2641ddc.tar.bz2
Backport of dgp fixes to trunk for Tk-Cocoa
-rw-r--r--macosx/tkMacOSXFont.c2
-rw-r--r--macosx/tkMacOSXWm.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/macosx/tkMacOSXFont.c b/macosx/tkMacOSXFont.c
index 67ed044..20b8908 100644
--- a/macosx/tkMacOSXFont.c
+++ b/macosx/tkMacOSXFont.c
@@ -885,7 +885,7 @@ TkpMeasureCharsInContext(
/* The call to CTTypesetterSuggestClusterBreak above will always
return at least one character regardless of whether it exceeded
it or not. Clean that up now. */
- while (width > maxWidth && !(flags & TK_PARTIAL_OK) && index > start) {
+ while (width > maxWidth && !(flags & TK_PARTIAL_OK) && index > start(flags & TK_AT_LEAST_ONE)) {
range.length = --index;
line = CTTypesetterCreateLine(typesetter, range);
width = CTLineGetTypographicBounds(line, NULL, NULL, NULL);
diff --git a/macosx/tkMacOSXWm.c b/macosx/tkMacOSXWm.c
index 22c95e9..e56c0e7 100644
--- a/macosx/tkMacOSXWm.c
+++ b/macosx/tkMacOSXWm.c
@@ -1641,7 +1641,9 @@ WmForgetCmd(
if (Tk_IsTopLevel(frameWin)) {
- MacDrawable *macWin = (MacDrawable *) winPtr->parentPtr->window;
+ MacDrawable *macWin;
+ Tk_MakeWindowExist(winPtr);
+ Tk_MakeWindowExist(winPtr->parentPtr); macWin = (MacDrawable *) winPtr->window;
TkFocusJoin(winPtr);
Tk_UnmapWindow(frameWin);
TkWmDeadWindow(macWin);