summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2020-09-01 06:58:14 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2020-09-01 06:58:14 (GMT)
commitbde73b4127e8e3ccbd59161c4393481f41ef94ec (patch)
treee4739418af5905a4333f394fe84927dc56feb0f8
parent35720db1d661f7697792d72d75dbdd519c7f20b1 (diff)
parente9be26a5cd7994354c11df68142dedd1ad385705 (diff)
downloadtk-bde73b4127e8e3ccbd59161c4393481f41ef94ec.zip
tk-bde73b4127e8e3ccbd59161c4393481f41ef94ec.tar.gz
tk-bde73b4127e8e3ccbd59161c4393481f41ef94ec.tar.bz2
Merge 8.6. Change signature of Tk_MacOSXGetTkWindow/Tk_MacOSXGetCGContextForDrawable
-rw-r--r--generic/tk.decls4
-rw-r--r--generic/tkInt.h5
-rw-r--r--generic/tkPlatDecls.h21
-rw-r--r--generic/tkStubInit.c4
-rw-r--r--generic/tkWindow.c2
-rw-r--r--macosx/tkMacOSXDraw.c6
-rw-r--r--macosx/tkMacOSXHLEvents.c2
-rw-r--r--macosx/tkMacOSXInt.h4
-rw-r--r--macosx/tkMacOSXKeyEvent.c12
-rw-r--r--macosx/tkMacOSXMenus.c2
-rw-r--r--macosx/tkMacOSXMouseEvent.c36
-rw-r--r--macosx/tkMacOSXPrivate.h15
-rw-r--r--macosx/tkMacOSXRegion.c18
-rw-r--r--macosx/tkMacOSXWindowEvent.c102
-rw-r--r--macosx/tkMacOSXWm.c47
-rw-r--r--tests/safe.test2
16 files changed, 97 insertions, 185 deletions
diff --git a/generic/tk.decls b/generic/tk.decls
index 12b8062..8d13223 100644
--- a/generic/tk.decls
+++ b/generic/tk.decls
@@ -1140,10 +1140,10 @@ declare 10 aqua {
int Tk_MacOSXIsAppInFront(void)
}
declare 11 aqua {
- TkWindow* TkMacOSXGetTkWindow(void *w)
+ Tk_Window Tk_MacOSXGetTkWindow(void *w)
}
declare 12 aqua {
- void *TkMacOSXGetCGContextForDrawable(Drawable drawable)
+ void *Tk_MacOSXGetCGContextForDrawable(Drawable drawable)
}
declare 16 aqua {
diff --git a/generic/tkInt.h b/generic/tkInt.h
index 2f64f99..23605cf 100644
--- a/generic/tkInt.h
+++ b/generic/tkInt.h
@@ -84,6 +84,11 @@
# endif
#endif
+
+#ifndef Tcl_GetParent
+# define Tcl_GetParent Tcl_GetMaster
+#endif
+
/*
* Macros used to cast between pointers and integers (e.g. when storing an int
* in ClientData), on 64-bit architectures they avoid gcc warning about "cast
diff --git a/generic/tkPlatDecls.h b/generic/tkPlatDecls.h
index 3485f35..7bf3d7e 100644
--- a/generic/tkPlatDecls.h
+++ b/generic/tkPlatDecls.h
@@ -83,9 +83,9 @@ EXTERN void Tk_MacOSXSetupTkNotifier(void);
/* 10 */
EXTERN int Tk_MacOSXIsAppInFront(void);
/* 11 */
-EXTERN TkWindow* TkMacOSXGetTkWindow(void *w);
+EXTERN Tk_Window Tk_MacOSXGetTkWindow(void *w);
/* 12 */
-EXTERN void * TkMacOSXGetCGContextForDrawable(Drawable drawable);
+EXTERN void * Tk_MacOSXGetCGContextForDrawable(Drawable drawable);
/* Slot 13 is reserved */
/* Slot 14 is reserved */
/* Slot 15 is reserved */
@@ -118,8 +118,8 @@ typedef struct TkPlatStubs {
void * (*tkMacOSXGetRootControl) (Drawable drawable); /* 8 */
void (*tk_MacOSXSetupTkNotifier) (void); /* 9 */
int (*tk_MacOSXIsAppInFront) (void); /* 10 */
- TkWindow* (*tkMacOSXGetTkWindow) (void *w); /* 11 */
- void * (*tkMacOSXGetCGContextForDrawable) (Drawable drawable); /* 12 */
+ Tk_Window (*tk_MacOSXGetTkWindow) (void *w); /* 11 */
+ void * (*tk_MacOSXGetCGContextForDrawable) (Drawable drawable); /* 12 */
void (*reserved13)(void);
void (*reserved14)(void);
void (*reserved15)(void);
@@ -176,10 +176,10 @@ extern const TkPlatStubs *tkPlatStubsPtr;
(tkPlatStubsPtr->tk_MacOSXSetupTkNotifier) /* 9 */
#define Tk_MacOSXIsAppInFront \
(tkPlatStubsPtr->tk_MacOSXIsAppInFront) /* 10 */
-#define TkMacOSXGetTkWindow \
- (tkPlatStubsPtr->tkMacOSXGetTkWindow) /* 11 */
-#define TkMacOSXGetCGContextForDrawable \
- (tkPlatStubsPtr->tkMacOSXGetCGContextForDrawable) /* 12 */
+#define Tk_MacOSXGetTkWindow \
+ (tkPlatStubsPtr->tk_MacOSXGetTkWindow) /* 11 */
+#define Tk_MacOSXGetCGContextForDrawable \
+ (tkPlatStubsPtr->tk_MacOSXGetCGContextForDrawable) /* 12 */
/* Slot 13 is reserved */
/* Slot 14 is reserved */
/* Slot 15 is reserved */
@@ -198,11 +198,6 @@ extern const TkPlatStubs *tkPlatStubsPtr;
#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLIMPORT
-/* Those cannot be used (yet) in stub-enabled extensions on MacOS */
-#ifdef MAC_OSX_TK /* AQUA */
-#undef TkMacOSXGetTkWindow
-#undef TkMacOSXGetCGContextForDrawable
-#endif
#undef TkGenWMConfigureEvent_
#endif /* _TKPLATDECLS */
diff --git a/generic/tkStubInit.c b/generic/tkStubInit.c
index 4cd4ba9..f3107b9 100644
--- a/generic/tkStubInit.c
+++ b/generic/tkStubInit.c
@@ -1013,8 +1013,8 @@ static const TkPlatStubs tkPlatStubs = {
TkMacOSXGetRootControl, /* 8 */
Tk_MacOSXSetupTkNotifier, /* 9 */
Tk_MacOSXIsAppInFront, /* 10 */
- TkMacOSXGetTkWindow, /* 11 */
- TkMacOSXGetCGContextForDrawable, /* 12 */
+ Tk_MacOSXGetTkWindow, /* 11 */
+ Tk_MacOSXGetCGContextForDrawable, /* 12 */
0, /* 13 */
0, /* 14 */
0, /* 15 */
diff --git a/generic/tkWindow.c b/generic/tkWindow.c
index a67329c..5e5e836 100644
--- a/generic/tkWindow.c
+++ b/generic/tkWindow.c
@@ -3094,7 +3094,7 @@ Initialize(
Tcl_Interp *parent = interp;
while (Tcl_IsSafe(parent)) {
- parent = Tcl_GetMaster(parent);
+ parent = Tcl_GetParent(parent);
if (parent == NULL) {
Tcl_SetObjResult(interp, Tcl_NewStringObj(
"no controlling parent interpreter", -1));
diff --git a/macosx/tkMacOSXDraw.c b/macosx/tkMacOSXDraw.c
index dcec1f6..12c10ae 100644
--- a/macosx/tkMacOSXDraw.c
+++ b/macosx/tkMacOSXDraw.c
@@ -226,7 +226,7 @@ CreateNSImageFromPixmap(
/*
*----------------------------------------------------------------------
*
- * TkMacOSXGetCGContextForDrawable --
+ * Tk_MacOSXGetCGContextForDrawable --
*
* Get CGContext for given Drawable, creating one if necessary.
*
@@ -240,7 +240,7 @@ CreateNSImageFromPixmap(
*/
void *
-TkMacOSXGetCGContextForDrawable(
+Tk_MacOSXGetCGContextForDrawable(
Drawable drawable)
{
MacDrawable *macDraw = (MacDrawable *)drawable;
@@ -1445,7 +1445,7 @@ end:
#ifdef TK_MAC_DEBUG_DRAWING
if (!canDraw && win != NULL) {
- TkWindow *winPtr = TkMacOSXGetTkWindow(win);
+ TkWindow *winPtr = Tk_MacOSXGetTkWindow(win);
if (winPtr) {
fprintf(stderr, "Cannot draw in %s - postponing.\n",
diff --git a/macosx/tkMacOSXHLEvents.c b/macosx/tkMacOSXHLEvents.c
index 91d7b72..88036ee 100644
--- a/macosx/tkMacOSXHLEvents.c
+++ b/macosx/tkMacOSXHLEvents.c
@@ -309,7 +309,7 @@ static const char *scriptTextProc = "::tk::mac::DoScriptText";
if (noErr == AEGetParamPtr(theDesc, keyDirectObject,
typeUTF8Text, &type,
data, actual, NULL)) {
- data[actual] = '\0';
+ data[actual] = '\0';
AppleEventInfo *AEInfo = ckalloc(sizeof(AppleEventInfo));
Tcl_DString *scriptTextCommand = &AEInfo->command;
Tcl_DStringInit(scriptTextCommand);
diff --git a/macosx/tkMacOSXInt.h b/macosx/tkMacOSXInt.h
index 6f44014..2c2be0c 100644
--- a/macosx/tkMacOSXInt.h
+++ b/macosx/tkMacOSXInt.h
@@ -191,10 +191,6 @@ MODULE_SCOPE void TkpFreeGCCache(GC gc);
*/
MODULE_SCOPE void TkMacOSXDefaultStartupScript(void);
-#if 0
-MODULE_SCOPE int XSetClipRectangles(Display *d, GC gc, int clip_x_origin,
- int clip_y_origin, XRectangle* rectangles, int n, int ordering);
-#endif
MODULE_SCOPE void TkpClipDrawableToRect(Display *display, Drawable d, int x,
int y, int width, int height);
MODULE_SCOPE void TkpShiftButton(NSButton *button, NSPoint delta);
diff --git a/macosx/tkMacOSXKeyEvent.c b/macosx/tkMacOSXKeyEvent.c
index 014caa9..a8f0eb0 100644
--- a/macosx/tkMacOSXKeyEvent.c
+++ b/macosx/tkMacOSXKeyEvent.c
@@ -50,8 +50,8 @@ static NSUInteger textInputModifiers;
TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, theEvent);
#endif
NSWindow *w = [theEvent window];
- TkWindow *winPtr = TkMacOSXGetTkWindow(w), *grabWinPtr, *focusWinPtr;
- Tk_Window tkwin = (Tk_Window) winPtr;
+ Tk_Window tkwin = Tk_MacOSXGetTkWindow(w);
+ TkWindow *winPtr = (TkWindow *)tkwin, *grabWinPtr, *focusWinPtr;
NSEventType type = [theEvent type];
NSUInteger virtual = [theEvent keyCode];
NSUInteger modifiers = ([theEvent modifierFlags] &
@@ -285,8 +285,8 @@ static NSUInteger textInputModifiers;
int i, len, state;
XEvent xEvent;
NSString *str, *keystr, *lower;
- TkWindow *winPtr = TkMacOSXGetTkWindow([self window]);
- Tk_Window tkwin = (Tk_Window) winPtr;
+ Tk_Window tkwin = Tk_MacOSXGetTkWindow([self window]);
+ TkWindow *winPtr = (TkWindow *)tkwin;
Bool sendingIMEText = NO;
str = ([aString isKindOfClass: [NSAttributedString class]]) ?
@@ -392,7 +392,7 @@ static NSUInteger textInputModifiers;
selectedRange: (NSRange)selRange
replacementRange: (NSRange)repRange
{
- TkWindow *winPtr = TkMacOSXGetTkWindow([self window]);
+ TkWindow *winPtr = (TkWindow *)Tk_MacOSXGetTkWindow([self window]);
Tk_Window focusWin = (Tk_Window) winPtr->dispPtr->focusPtr;
NSString *temp;
NSString *str;
@@ -497,7 +497,7 @@ static NSUInteger textInputModifiers;
}
processingCompose = NO;
if (aSelector == @selector (deleteBackward:)) {
- TkWindow *winPtr = TkMacOSXGetTkWindow([self window]);
+ TkWindow *winPtr = (TkWindow *)Tk_MacOSXGetTkWindow([self window]);
Tk_Window focusWin = (Tk_Window) winPtr->dispPtr->focusPtr;
TkSendVirtualEvent(focusWin, "TkAccentBackspace", NULL);
}
diff --git a/macosx/tkMacOSXMenus.c b/macosx/tkMacOSXMenus.c
index 9b85e7a..0ca9eee 100644
--- a/macosx/tkMacOSXMenus.c
+++ b/macosx/tkMacOSXMenus.c
@@ -409,7 +409,7 @@ GenerateEditEvent(
{
XVirtualEvent event;
int x, y;
- TkWindow *winPtr = TkMacOSXGetTkWindow([NSApp keyWindow]);
+ TkWindow *winPtr = (TkWindow *)Tk_MacOSXGetTkWindow([NSApp keyWindow]);
Tk_Window tkwin;
if (!winPtr) {
diff --git a/macosx/tkMacOSXMouseEvent.c b/macosx/tkMacOSXMouseEvent.c
index f274a07..2153d06 100644
--- a/macosx/tkMacOSXMouseEvent.c
+++ b/macosx/tkMacOSXMouseEvent.c
@@ -56,10 +56,6 @@ enum {
Tk_Window tkwin;
NSPoint local, global;
NSInteger button = -1;
-#if 0
- NSTrackingArea *trackingArea = nil;
- NSInteger eventNumber, clickCount, buttonNumber;
-#endif
[NSEvent stopPeriodicEvents];
#ifdef TK_MAC_DEBUG_EVENTS
@@ -152,8 +148,8 @@ enum {
*/
if (!tkwin) {
- winPtr = TkMacOSXGetTkWindow(eventWindow);
- tkwin = (Tk_Window) winPtr;
+ tkwin = Tk_MacOSXGetTkWindow(eventWindow);
+ winPtr = (TkWindow *)tkwin;
}
if (!tkwin) {
@@ -314,34 +310,6 @@ enum {
/*
*----------------------------------------------------------------------
*
- * TkMacOSXKeyModifiers --
- *
- * Returns the current state of the modifier keys.
- *
- * Results:
- * An OS Modifier state.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-EventModifiers
-TkMacOSXModifierState(void)
-{
- UInt32 keyModifiers;
- int isFrontProcess = (GetCurrentEvent() && Tk_MacOSXIsAppInFront());
-
- keyModifiers = isFrontProcess ? GetCurrentEventKeyModifiers() :
- GetCurrentKeyModifiers();
-
- return (EventModifiers) (keyModifiers & USHRT_MAX);
-}
-
-/*
- *----------------------------------------------------------------------
- *
* TkMacOSXButtonKeyState --
*
* Returns the current state of the button & modifier keys.
diff --git a/macosx/tkMacOSXPrivate.h b/macosx/tkMacOSXPrivate.h
index 2c7546e..5938a00 100644
--- a/macosx/tkMacOSXPrivate.h
+++ b/macosx/tkMacOSXPrivate.h
@@ -225,10 +225,6 @@ MODULE_SCOPE HIMutableShapeRef TkMacOSXHIShapeCreateMutableWithRect(
MODULE_SCOPE OSStatus TkMacOSXHIShapeSetWithShape(
HIMutableShapeRef inDestShape,
HIShapeRef inSrcShape);
-#if 0
-MODULE_SCOPE OSStatus TkMacOSXHIShapeSetWithRect(HIMutableShapeRef inShape,
- const CGRect *inRect);
-#endif
MODULE_SCOPE OSStatus TkMacOSHIShapeDifferenceWithRect(
HIMutableShapeRef inShape, const CGRect *inRect);
MODULE_SCOPE OSStatus TkMacOSHIShapeUnionWithRect(HIMutableShapeRef inShape,
@@ -245,7 +241,7 @@ MODULE_SCOPE OSStatus TkMacOSHIShapeUnion(HIShapeRef inShape1,
#define TkMacOSXContentView(drawable) \
(TKContentView *)TkMacOSXGetRootControl(drawable)
#define TkMacOSXCGContext(drawable) \
- (CGContextRef)TkMacOSXGetCGContextForDrawable(drawable)
+ (CGContextRef)Tk_MacOSXGetCGContextForDrawable(drawable)
MODULE_SCOPE void * TkMacOSXGetNamedSymbol(const char *module,
const char *symbol);
@@ -256,12 +252,8 @@ MODULE_SCOPE int TkMacOSXUseAntialiasedText(Tcl_Interp *interp,
int enable);
MODULE_SCOPE int TkMacOSXInitCGDrawing(Tcl_Interp *interp, int enable,
int antiAlias);
-MODULE_SCOPE int TkMacOSXGenerateFocusEvent(TkWindow *winPtr,
- int activeFlag);
-MODULE_SCOPE WindowClass TkMacOSXWindowClass(TkWindow *winPtr);
MODULE_SCOPE int TkMacOSXIsWindowZoomed(TkWindow *winPtr);
MODULE_SCOPE int TkGenerateButtonEventForXPointer(Window window);
-MODULE_SCOPE EventModifiers TkMacOSXModifierState(void);
MODULE_SCOPE void TkMacOSXDrawCGImage(Drawable d, GC gc, CGContextRef context,
CGImageRef image, unsigned long imageForeground,
unsigned long imageBackground, CGRect imageBounds,
@@ -272,11 +264,6 @@ MODULE_SCOPE void TkMacOSXRestoreDrawingContext(
TkMacOSXDrawingContext *dcPtr);
MODULE_SCOPE void TkMacOSXSetColorInContext(GC gc, unsigned long pixel,
CGContextRef context);
-MODULE_SCOPE int TkMacOSXMakeFullscreen(TkWindow *winPtr,
- NSWindow *window, int fullscreen,
- Tcl_Interp *interp);
-MODULE_SCOPE void TkMacOSXEnterExitFullscreen(TkWindow *winPtr,
- int active);
#define TkMacOSXDrawableView(macWin) (TKContentView *)TkMacOSXGetRootControl((Drawable)(macWin))
MODULE_SCOPE void TkMacOSXWinCGBounds(TkWindow *winPtr, CGRect *bounds);
MODULE_SCOPE HIShapeRef TkMacOSXGetClipRgn(Drawable drawable);
diff --git a/macosx/tkMacOSXRegion.c b/macosx/tkMacOSXRegion.c
index 00521e8..6c70a63 100644
--- a/macosx/tkMacOSXRegion.c
+++ b/macosx/tkMacOSXRegion.c
@@ -479,7 +479,7 @@ XOffsetRegion(
*----------------------------------------------------------------------
*
* TkMacOSXHIShapeCreateEmpty, TkMacOSXHIShapeCreateMutableWithRect,
- * TkMacOSXHIShapeSetWithShape, TkMacOSXHIShapeSetWithRect,
+ * TkMacOSXHIShapeSetWithShape,
* TkMacOSHIShapeDifferenceWithRect, TkMacOSHIShapeUnionWithRect,
* TkMacOSHIShapeUnion --
*
@@ -518,22 +518,6 @@ TkMacOSXHIShapeSetWithShape(
return result;
}
-#if 0
-OSStatus
-TkMacOSXHIShapeSetWithRect(
- HIMutableShapeRef inShape,
- const CGRect *inRect)
-{
- OSStatus result;
- HIShapeRef rgn = HIShapeCreateWithRect(inRect);
-
- result = TkMacOSXHIShapeSetWithShape(inShape, rgn);
- CFRelease(rgn);
-
- return result;
-}
-#endif
-
OSStatus
TkMacOSHIShapeDifferenceWithRect(
HIMutableShapeRef inShape,
diff --git a/macosx/tkMacOSXWindowEvent.c b/macosx/tkMacOSXWindowEvent.c
index 78c8bef..e8c59b4 100644
--- a/macosx/tkMacOSXWindowEvent.c
+++ b/macosx/tkMacOSXWindowEvent.c
@@ -55,7 +55,7 @@ extern NSString *NSWindowDidOrderOffScreenNotification;
BOOL activate = [[notification name]
isEqualToString:NSWindowDidBecomeKeyNotification];
NSWindow *w = [notification object];
- TkWindow *winPtr = TkMacOSXGetTkWindow(w);
+ TkWindow *winPtr = (TkWindow *)Tk_MacOSXGetTkWindow(w);
if (winPtr && Tk_IsMapped(winPtr)) {
GenerateActivateEvents(winPtr, activate);
@@ -70,7 +70,7 @@ extern NSString *NSWindowDidOrderOffScreenNotification;
BOOL movedOnly = [[notification name]
isEqualToString:NSWindowDidMoveNotification];
NSWindow *w = [notification object];
- TkWindow *winPtr = TkMacOSXGetTkWindow(w);
+ TkWindow *winPtr = (TkWindow *)Tk_MacOSXGetTkWindow(w);
if (winPtr) {
WmInfo *wmPtr = winPtr->wmInfoPtr;
@@ -106,7 +106,7 @@ extern NSString *NSWindowDidOrderOffScreenNotification;
TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, notification);
#endif
NSWindow *w = [notification object];
- TkWindow *winPtr = TkMacOSXGetTkWindow(w);
+ TkWindow *winPtr = (TkWindow *)Tk_MacOSXGetTkWindow(w);
if (winPtr) {
winPtr->wmInfoPtr->hints.initial_state =
@@ -179,10 +179,10 @@ extern NSString *NSWindowDidOrderOffScreenNotification;
TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, notification);
#endif
NSWindow *w = [notification object];
- TkWindow *winPtr = TkMacOSXGetTkWindow(w);
+ Tk_Window tkwin = Tk_MacOSXGetTkWindow(w);
- if (winPtr) {
- Tk_UnmapWindow((Tk_Window) winPtr);
+ if (tkwin) {
+ Tk_UnmapWindow(tkwin);
}
}
@@ -191,10 +191,10 @@ extern NSString *NSWindowDidOrderOffScreenNotification;
#ifdef TK_MAC_DEBUG_NOTIFICATIONS
TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, w);
#endif
- TkWindow *winPtr = TkMacOSXGetTkWindow(w);
+ Tk_Window tkwin = Tk_MacOSXGetTkWindow(w);
- if (winPtr) {
- TkGenWMDestroyEvent((Tk_Window) winPtr);
+ if (tkwin) {
+ TkGenWMDestroyEvent(tkwin);
}
/*
@@ -202,14 +202,14 @@ extern NSString *NSWindowDidOrderOffScreenNotification;
* can always return NO from -windowShouldClose: for a Tk window.
*/
- return (winPtr ? NO : YES);
+ return (tkwin ? NO : YES);
}
- (void) windowBecameVisible: (NSNotification *) notification
{
NSWindow *window = [notification object];
- TkWindow *winPtr = TkMacOSXGetTkWindow(window);
- if (winPtr) {
+ Tk_Window tkwin = Tk_MacOSXGetTkWindow(window);
+ if (tkwin) {
TKContentView *view = [window contentView];
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 101400
if (@available(macOS 10.14, *)) {
@@ -225,7 +225,7 @@ extern NSString *NSWindowDidOrderOffScreenNotification;
- (void) windowMapped: (NSNotification *) notification
{
NSWindow *w = [notification object];
- TkWindow *winPtr = TkMacOSXGetTkWindow(w);
+ TkWindow *winPtr = (TkWindow *)Tk_MacOSXGetTkWindow(w);
if (winPtr) {
while (Tcl_DoOneEvent(TCL_IDLE_EVENTS)) {}
@@ -249,7 +249,7 @@ extern NSString *NSWindowDidOrderOffScreenNotification;
{
TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, notification);
NSWindow *w = [notification object];
- TkWindow *winPtr = TkMacOSXGetTkWindow(w);
+ TkWindow *winPtr = (TkWindow *)Tk_MacOSXGetTkWindow(w);
if (winPtr) {
//Tk_UnmapWindow((Tk_Window) winPtr);
@@ -310,7 +310,7 @@ extern NSString *NSWindowDidOrderOffScreenNotification;
*/
for (NSWindow *win in [NSApp windows]) {
- TkWindow *winPtr = TkMacOSXGetTkWindow(win);
+ TkWindow *winPtr = (TkWindow *)Tk_MacOSXGetTkWindow(win);
if (!winPtr || !winPtr->wmInfoPtr) {
continue;
}
@@ -536,35 +536,6 @@ GenerateUpdates(
/*
*----------------------------------------------------------------------
*
- * GenerateActivateEvents --
- *
- * Given a Macintosh window activate event this function generates all the
- * X Activate events needed by Tk.
- *
- * Results:
- * True if event(s) are generated - false otherwise.
- *
- * Side effects:
- * Additional events may be placed on the Tk event queue.
- *
- *----------------------------------------------------------------------
- */
-
-int
-GenerateActivateEvents(
- TkWindow *winPtr,
- int activeFlag)
-{
- TkGenerateActivateEvents(winPtr, activeFlag);
- if (activeFlag || ![NSApp isActive]) {
- TkMacOSXGenerateFocusEvent(winPtr, activeFlag);
- }
- return true;
-}
-
-/*
- *----------------------------------------------------------------------
- *
* TkMacOSXGenerateFocusEvent --
*
* Given a Macintosh window activate event this function generates all
@@ -579,7 +550,7 @@ GenerateActivateEvents(
*----------------------------------------------------------------------
*/
-MODULE_SCOPE int
+static int
TkMacOSXGenerateFocusEvent(
TkWindow *winPtr, /* Root X window for event. */
int activeFlag)
@@ -621,6 +592,35 @@ TkMacOSXGenerateFocusEvent(
/*
*----------------------------------------------------------------------
*
+ * GenerateActivateEvents --
+ *
+ * Given a Macintosh window activate event this function generates all the
+ * X Activate events needed by Tk.
+ *
+ * Results:
+ * True if event(s) are generated - false otherwise.
+ *
+ * Side effects:
+ * Additional events may be placed on the Tk event queue.
+ *
+ *----------------------------------------------------------------------
+ */
+
+int
+GenerateActivateEvents(
+ TkWindow *winPtr,
+ int activeFlag)
+{
+ TkGenerateActivateEvents(winPtr, activeFlag);
+ if (activeFlag || ![NSApp isActive]) {
+ TkMacOSXGenerateFocusEvent(winPtr, activeFlag);
+ }
+ return true;
+}
+
+/*
+ *----------------------------------------------------------------------
+ *
* TkGenWMConfigureEvent --
*
* Generate a ConfigureNotify event for Tk. Depending on the value of flag
@@ -933,7 +933,7 @@ ConfigureRestrictProc(
(void)rect;
#ifdef TK_MAC_DEBUG_DRAWING
- TkWindow *winPtr = TkMacOSXGetTkWindow([self window]);
+ TkWindow *winPtr = (TkWindow *)Tk_MacOSXGetTkWindow([self window]);
if (winPtr) {
fprintf(stderr, "drawRect: drawing %s in %s\n",
Tk_PathName(winPtr), NSStringFromRect(rect).UTF8String);
@@ -966,7 +966,7 @@ ConfigureRestrictProc(
{
[super setFrameSize: newsize];
NSWindow *w = [self window];
- TkWindow *winPtr = TkMacOSXGetTkWindow(w);
+ TkWindow *winPtr = (TkWindow *)Tk_MacOSXGetTkWindow(w);
Tk_Window tkwin = (Tk_Window) winPtr;
if (![self inLiveResize] &&
@@ -1038,7 +1038,7 @@ ConfigureRestrictProc(
unsigned long serial;
int updatesNeeded;
CGRect updateBounds;
- TkWindow *winPtr = TkMacOSXGetTkWindow([self window]);
+ TkWindow *winPtr = (TkWindow *)Tk_MacOSXGetTkWindow([self window]);
ClientData oldArg;
Tk_RestrictProc *oldProc;
if (!winPtr) {
@@ -1109,7 +1109,7 @@ static const char *const accentNames[] = {
- (void) viewDidChangeEffectiveAppearance
{
- Tk_Window tkwin = (Tk_Window) TkMacOSXGetTkWindow([self window]);
+ Tk_Window tkwin = Tk_MacOSXGetTkWindow([self window]);
if (!tkwin) {
return;
}
@@ -1178,8 +1178,8 @@ static const char *const accentNames[] = {
#endif
XVirtualEvent event;
int x, y;
- TkWindow *winPtr = TkMacOSXGetTkWindow([self window]);
- Tk_Window tkwin = (Tk_Window) winPtr;
+ Tk_Window tkwin = Tk_MacOSXGetTkWindow([self window]);
+ TkWindow *winPtr = (TkWindow *)tkwin;
(void)sender;
if (!winPtr){
diff --git a/macosx/tkMacOSXWm.c b/macosx/tkMacOSXWm.c
index 8918866..d7152bd 100644
--- a/macosx/tkMacOSXWm.c
+++ b/macosx/tkMacOSXWm.c
@@ -378,7 +378,7 @@ static void RemoveTransient(TkWindow *winPtr);
- (void) tkLayoutChanged
{
- TkWindow *winPtr = TkMacOSXGetTkWindow(self);
+ TkWindow *winPtr = (TkWindow *)Tk_MacOSXGetTkWindow(self);
if (winPtr) {
NSRect frameRect;
@@ -407,7 +407,7 @@ static void RemoveTransient(TkWindow *winPtr);
#if !(MAC_OS_X_VERSION_MAX_ALLOWED < 101200)
- (void)toggleTabBar:(id)sender
{
- TkWindow *winPtr = TkMacOSXGetTkWindow(self);
+ TkWindow *winPtr = (TkWindow *)Tk_MacOSXGetTkWindow(self);
if (!winPtr) {
return;
}
@@ -420,7 +420,7 @@ static void RemoveTransient(TkWindow *winPtr);
toSize:(NSSize)frameSize
{
NSRect currentFrame = [sender frame];
- TkWindow *winPtr = TkMacOSXGetTkWindow(sender);
+ TkWindow *winPtr = (TkWindow *)Tk_MacOSXGetTkWindow(sender);
if (winPtr) {
if (winPtr->wmInfoPtr->flags & WM_WIDTH_NOT_RESIZABLE) {
frameSize.width = currentFrame.size.width;
@@ -434,7 +434,7 @@ static void RemoveTransient(TkWindow *winPtr);
- (BOOL) canBecomeKeyWindow
{
- TkWindow *winPtr = TkMacOSXGetTkWindow(self);
+ TkWindow *winPtr = (TkWindow *)Tk_MacOSXGetTkWindow(self);
if (!winPtr || !winPtr->wmInfoPtr) {
return NO;
@@ -618,7 +618,7 @@ FrontWindowAtPoint(
TkWindow *winPtr = NULL;
for (NSWindow *w in windows) {
- winPtr = TkMacOSXGetTkWindow(w);
+ winPtr = (TkWindow *)Tk_MacOSXGetTkWindow(w);
if (winPtr) {
WmInfo *wmPtr = winPtr->wmInfoPtr;
NSRect windowFrame = [w frame];
@@ -1002,7 +1002,7 @@ TkWmDeadWindow(
*/
for (NSWindow *w in [NSApp orderedWindows]) {
- TkWindow *winPtr2 = TkMacOSXGetTkWindow(w);
+ TkWindow *winPtr2 = (TkWindow *)Tk_MacOSXGetTkWindow(w);
BOOL isOnScreen;
if (!winPtr2 || !winPtr2->wmInfoPtr) {
@@ -5412,7 +5412,7 @@ TkMacOSXGetXWindow(
/*
*----------------------------------------------------------------------
*
- * TkMacOSXGetTkWindow --
+ * Tk_MacOSXGetTkWindow --
*
* Returns the TkWindow* associated with the given NSWindow*.
*
@@ -5425,15 +5425,15 @@ TkMacOSXGetXWindow(
*----------------------------------------------------------------------
*/
-TkWindow *
-TkMacOSXGetTkWindow(
+Tk_Window
+Tk_MacOSXGetTkWindow(
void *w)
{
Window window = TkMacOSXGetXWindow((NSWindow *)w);
TkDisplay *dispPtr = TkGetDisplayList();
return (window != None ?
- (TkWindow *)Tk_IdToWindow(dispPtr->display, window) : NULL);
+ Tk_IdToWindow(dispPtr->display, window) : NULL);
}
/*
@@ -5487,7 +5487,7 @@ TkMacOSXZoomToplevel(
short zoomPart) /* Either inZoomIn or inZoomOut */
{
NSWindow *window = whichWindow;
- TkWindow *winPtr = TkMacOSXGetTkWindow(window);
+ TkWindow *winPtr = (TkWindow *)Tk_MacOSXGetTkWindow(window);
WmInfo *wmPtr;
if (!winPtr || !winPtr->wmInfoPtr) {
@@ -6453,29 +6453,6 @@ TkpIsWindowFloating(
}
/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXWindowClass --
- *
- * Returns OS X window class of window
- *
- * Results:
- * 1 or 0 depending on window's floating attribute.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE WindowClass
-TkMacOSXWindowClass(
- TkWindow *winPtr)
-{
- return winPtr->wmInfoPtr->macClass;
-}
-
-/*
*--------------------------------------------------------------
*
* TkMacOSXWindowOffset --
@@ -6499,7 +6476,7 @@ TkMacOSXWindowOffset(
int *xOffset,
int *yOffset)
{
- TkWindow *winPtr = TkMacOSXGetTkWindow(wRef);
+ TkWindow *winPtr = (TkWindow *)Tk_MacOSXGetTkWindow(wRef);
if (winPtr && winPtr->wmInfoPtr) {
*xOffset = winPtr->wmInfoPtr->xInParent;
diff --git a/tests/safe.test b/tests/safe.test
index 97f6688..64cd64c 100644
--- a/tests/safe.test
+++ b/tests/safe.test
@@ -187,7 +187,7 @@ test safe-5.1 {loading Tk in safe interps without parent's clearance} -body {
interp eval $i {load {} Tk}
} -cleanup {
safe::interpDelete $i
-} -returnCodes error -result {not allowed}
+} -returnCodes error -result {load of binary library for package Tk failed: not allowed}
test safe-5.2 {multi-level Tk loading with clearance} -setup {
set safeParent [safe::interpCreate]
} -body {