summaryrefslogtreecommitdiff
path: root/tk/mac/tkMacSubwindows.c
diff options
context:
space:
mode:
Diffstat (limited to 'tk/mac/tkMacSubwindows.c')
-rw-r--r--tk/mac/tkMacSubwindows.c18
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);
}
+