]> asedeno.scripts.mit.edu Git - PuTTY.git/commitdiff
Correct handling of Mac OS 8.5 Window Manager and Control Manager. The new
authorBen Harris <bjh21@bjh21.me.uk>
Sat, 4 Jan 2003 00:13:18 +0000 (00:13 +0000)
committerBen Harris <bjh21@bjh21.me.uk>
Sat, 4 Jan 2003 00:13:18 +0000 (00:13 +0000)
functions turn out to be available only to PowerPC applications, through
WindowsLib and ControlsLib respectively, so we weak-link against those in
the obvious way.

[originally from svn r2441]

mac/mac.c
mac/macterm.c
mkfiles.pl

index c6a93dc1bdbf7e25f6b748c9b7363eee0ee6ec71..8ba879562f17930e363c4a3ee0d57cbbf8d4c0c0 100644 (file)
--- a/mac/mac.c
+++ b/mac/mac.c
@@ -1,4 +1,4 @@
-/* $Id: mac.c,v 1.14 2003/01/02 00:33:40 ben Exp $ */
+/* $Id: mac.c,v 1.15 2003/01/04 00:13:18 ben Exp $ */
 /*
  * Copyright (c) 1999 Ben Harris
  * All rights reserved.
@@ -140,12 +140,19 @@ static void mac_startup(void) {
     if (&RegisterAppearanceClient == kUnresolvedCFragSymbolAddress)
        mac_gestalts.apprvers = 0;
 #endif
+#if TARGET_CPU_68K
+    mac_gestalts.cntlattr = 0;
+    mac_gestalts.windattr = 0;
+#else
     /* Mac OS 8.5 Control Manager (proportional scrollbars)? */
-    if (Gestalt(gestaltControlMgrAttr, &mac_gestalts.cntlattr) != noErr)
+    if (Gestalt(gestaltControlMgrAttr, &mac_gestalts.cntlattr) != noErr ||
+       &SetControlViewSize == kUnresolvedCFragSymbolAddress)
        mac_gestalts.cntlattr = 0;
     /* Mac OS 8.5 Window Manager? */
-    if (Gestalt(gestaltWindowMgrAttr, &mac_gestalts.windattr) != noErr)
+    if (Gestalt(gestaltWindowMgrAttr, &mac_gestalts.windattr) != noErr ||
+       &SetWindowContentColor == kUnresolvedCFragSymbolAddress)
        mac_gestalts.windattr = 0;
+#endif
     /* Text Encoding Conversion Manager? */
     if (
 #if TARGET_RT_MAC_CFM
index 3de1d5826f856a07b4b857ad238ff496c14d9e72..2cc85b95e8838c2a211c3189ec007f0d476078ca 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: macterm.c,v 1.31 2003/01/02 00:33:40 ben Exp $ */
+/* $Id: macterm.c,v 1.32 2003/01/04 00:13:18 ben Exp $ */
 /*
  * Copyright (c) 1999 Simon Tatham
  * Copyright (c) 1999, 2002 Ben Harris
@@ -336,7 +336,7 @@ static void mac_adjustwinbg(Session *s) {
 
     if (!HAVE_COLOR_QD())
        return;
-#if TARGET_RT_CFM /* XXX doesn't link (at least for 68k) */
+#if !TARGET_CPU_68K
     if (mac_gestalts.windattr & gestaltWindowMgrPresent)
        SetWindowContentColor(s->window,
                              &(*s->palette)->pmInfo[DEFAULT_BG].ciRGB);
@@ -1180,8 +1180,7 @@ void set_sbar(void *frontend, int total, int start, int page) {
     (*s->scrollbar)->contrlMin = 0;
     (*s->scrollbar)->contrlMax = total - page;
     SetControlValue(s->scrollbar, start);
-#if TARGET_RT_CFM
-    /* XXX: This doesn't link for me. */
+#if !TARGET_CPU_68K
     if (mac_gestalts.cntlattr & gestaltControlMgrPresent)
        SetControlViewSize(s->scrollbar, page);
 #endif
index d9c1f86774bd61dc4b2c9ee3cabfbd27687d0676..8b955e3f65bab8bde5ebc63c9136cbd8f8f4fef5 100755 (executable)
@@ -637,6 +637,10 @@ Libs_CFM68K =      {Libs_CFM} \xb6
                "{CFM68KLibraries}NuMacRuntime.o"
 
 Libs_PPC =     {Libs_CFM} \xb6
+               "{SharedLibraries}ControlsLib" \xb6
+                       -weaklib ControlsLib \xb6
+               "{SharedLibraries}WindowsLib" \xb6
+                       -weaklib WindowsLib \xb6
                "{PPCLibraries}StdCRuntime.o" \xb6
                "{PPCLibraries}PPCCRuntime.o" \xb6
                "{PPCLibraries}CarbonAccessors.o"