gh-116145: Update macOS installer to Tcl/Tk 8.6.14 (GH-116151)

This commit is contained in:
Christopher Chavez 2024-03-12 00:37:07 -05:00 committed by GitHub
parent 3cc5ae5c2c
commit 4fa95c6ec3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 5 additions and 86 deletions

View File

@ -1,82 +0,0 @@
Accepted upstream for release in Tk 8.6.14:
https://core.tcl-lang.org/tk/info/cf3830280b
--- tk8.6.13/macosx/tkMacOSXWindowEvent.c.orig
+++ tk8.6.13-patched/macosx/tkMacOSXWindowEvent.c
@@ -239,8 +239,8 @@ extern NSString *NSWindowDidOrderOffScreenNotification;
if (winPtr) {
TKContentView *view = [window contentView];
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= 101500
- if (@available(macOS 10.15, *)) {
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 101400
+ if (@available(macOS 10.14, *)) {
[view viewDidChangeEffectiveAppearance];
}
#endif
@@ -1237,29 +1237,8 @@ static const char *const accentNames[] = {
} else if (effectiveAppearanceName == NSAppearanceNameDarkAqua) {
TkSendVirtualEvent(tkwin, "DarkAqua", NULL);
}
- if ([NSApp macOSVersion] < 101500) {
-
- /*
- * Mojave cannot handle the KVO shenanigans that we need for the
- * highlight and accent color notifications.
- */
-
- return;
- }
if (!defaultColor) {
defaultColor = [NSApp macOSVersion] < 110000 ? "Blue" : "Multicolor";
- preferences = [[NSUserDefaults standardUserDefaults] retain];
-
- /*
- * AppKit calls this method when the user changes the Accent Color
- * but not when the user changes the Highlight Color. So we register
- * to receive KVO notifications for Highlight Color as well.
- */
-
- [preferences addObserver:self
- forKeyPath:@"AppleHighlightColor"
- options:NSKeyValueObservingOptionNew
- context:NULL];
}
NSString *accent = [preferences stringForKey:@"AppleAccentColor"];
NSArray *words = [[preferences stringForKey:@"AppleHighlightColor"]
--- tk8.6.13/macosx/tkMacOSXWm.c.orig
+++ tk8.6.13-patched/macosx/tkMacOSXWm.c
@@ -1289,6 +1289,11 @@ TkWmDeadWindow(
[NSApp _setMainWindow:nil];
}
[deadNSWindow close];
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 101400
+ NSUserDefaults *preferences = [NSUserDefaults standardUserDefaults];
+ [preferences removeObserver:deadNSWindow.contentView
+ forKeyPath:@"AppleHighlightColor"];
+#endif
[deadNSWindow release];
#if DEBUG_ZOMBIES > 1
@@ -6763,6 +6768,21 @@ TkMacOSXMakeRealWindowExist(
}
TKContentView *contentView = [[TKContentView alloc]
initWithFrame:NSZeroRect];
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 101400
+ NSUserDefaults *preferences = [NSUserDefaults standardUserDefaults];
+
+ /*
+ * AppKit calls the viewDidChangeEffectiveAppearance method when the
+ * user changes the Accent Color but not when the user changes the
+ * Highlight Color. So we register to receive KVO notifications for
+ * Highlight Color as well.
+ */
+
+ [preferences addObserver:contentView
+ forKeyPath:@"AppleHighlightColor"
+ options:NSKeyValueObservingOptionNew
+ context:NULL];
+#endif
[window setContentView:contentView];
[contentView release];
[window setDelegate:NSApp];

View File

@ -264,11 +264,11 @@ def library_recipes():
tk_patches = ['backport_gh71383_fix.patch', 'tk868_on_10_8_10_9.patch', 'backport_gh110950_fix.patch']
else:
tcl_tk_ver='8.6.13'
tcl_checksum='43a1fae7412f61ff11de2cfd05d28cfc3a73762f354a417c62370a54e2caf066'
tcl_tk_ver='8.6.14'
tcl_checksum='5880225babf7954c58d4fb0f5cf6279104ce1cd6aa9b71e9a6322540e1c4de66'
tk_checksum='2e65fa069a23365440a3c56c556b8673b5e32a283800d8d9b257e3f584ce0675'
tk_patches = ['backport_gh92603_fix.patch', 'backport_gh71383_fix.patch', 'backport_gh110950_fix.patch']
tk_checksum='8ffdb720f47a6ca6107eac2dd877e30b0ef7fac14f3a84ebbd0b3612cee41a94'
tk_patches = []
base_url = "https://prdownloads.sourceforge.net/tcl/{what}{version}-src.tar.gz"

View File

@ -0,0 +1 @@
Update macOS installer to Tcl/Tk 8.6.14.