diff options
Diffstat (limited to 'tk/mac/tkMacSubwindows.c')
-rw-r--r-- | tk/mac/tkMacSubwindows.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/tk/mac/tkMacSubwindows.c b/tk/mac/tkMacSubwindows.c index 98adbd89186..e422ca82d79 100644 --- a/tk/mac/tkMacSubwindows.c +++ b/tk/mac/tkMacSubwindows.c @@ -930,14 +930,23 @@ TkMacGetDrawablePort( contWinPtr = TkpGetOtherWindow(macWin->toplevel->winPtr); if (contWinPtr != NULL) { - resultPort = TkMacGetDrawablePort((Drawable) contWinPtr->privatePtr); + resultPort = TkMacGetDrawablePort( + (Drawable) contWinPtr->privatePtr); } else if (gMacEmbedHandler != NULL) { resultPort = gMacEmbedHandler->getPortProc( (Tk_Window) macWin->winPtr); } if (resultPort == NULL) { - panic("TkMacGetDrawablePort couldn't find container"); + /* + * FIXME: + * + * So far as I can tell, the only time that this happens is when + * we are tearing down an embedded child interpreter, and most + * of the time, this is harmless... However, we really need to + * find why the embedding loses. + */ + DebugStr("\pTkMacGetDrawablePort couldn't find container"); return NULL; } @@ -1074,10 +1083,14 @@ tkMacMoveWindow( { int xOffset, yOffset; + if (TkMacHaveAppearance() >= 0x110) { + MoveWindowStructure((WindowRef) window, (short) x, (short) y); + } else { TkMacWindowOffset(window, &xOffset, &yOffset); MoveWindow((WindowRef) window, (short) (x + xOffset), (short) (y + yOffset), false); } +} /* *---------------------------------------------------------------------- @@ -1243,3 +1256,4 @@ Tk_FreePixmap( ckfree((char *) macPix); } + |