diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2020-09-01 06:58:14 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2020-09-01 06:58:14 (GMT) |
commit | bde73b4127e8e3ccbd59161c4393481f41ef94ec (patch) | |
tree | e4739418af5905a4333f394fe84927dc56feb0f8 | |
parent | 35720db1d661f7697792d72d75dbdd519c7f20b1 (diff) | |
parent | e9be26a5cd7994354c11df68142dedd1ad385705 (diff) | |
download | tk-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.decls | 4 | ||||
-rw-r--r-- | generic/tkInt.h | 5 | ||||
-rw-r--r-- | generic/tkPlatDecls.h | 21 | ||||
-rw-r--r-- | generic/tkStubInit.c | 4 | ||||
-rw-r--r-- | generic/tkWindow.c | 2 | ||||
-rw-r--r-- | macosx/tkMacOSXDraw.c | 6 | ||||
-rw-r--r-- | macosx/tkMacOSXHLEvents.c | 2 | ||||
-rw-r--r-- | macosx/tkMacOSXInt.h | 4 | ||||
-rw-r--r-- | macosx/tkMacOSXKeyEvent.c | 12 | ||||
-rw-r--r-- | macosx/tkMacOSXMenus.c | 2 | ||||
-rw-r--r-- | macosx/tkMacOSXMouseEvent.c | 36 | ||||
-rw-r--r-- | macosx/tkMacOSXPrivate.h | 15 | ||||
-rw-r--r-- | macosx/tkMacOSXRegion.c | 18 | ||||
-rw-r--r-- | macosx/tkMacOSXWindowEvent.c | 102 | ||||
-rw-r--r-- | macosx/tkMacOSXWm.c | 47 | ||||
-rw-r--r-- | tests/safe.test | 2 |
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 { |