From 1fc898ead222c1ef1502f13bdeff40cdfbc61d3d Mon Sep 17 00:00:00 2001 From: ben Date: Sat, 4 Jan 2003 00:13:18 +0000 Subject: [PATCH] Correct handling of Mac OS 8.5 Window Manager and Control Manager. The new 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. git-svn-id: svn://svn.tartarus.org/sgt/putty@2441 cda61777-01e9-0310-a592-d414129be87e --- mac/mac.c | 13 ++++++++++--- mac/macterm.c | 7 +++---- mkfiles.pl | 4 ++++ 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/mac/mac.c b/mac/mac.c index c6a93dc1..8ba87956 100644 --- 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 diff --git a/mac/macterm.c b/mac/macterm.c index 3de1d582..2cc85b95 100644 --- a/mac/macterm.c +++ b/mac/macterm.c @@ -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 diff --git a/mkfiles.pl b/mkfiles.pl index d9c1f867..8b955e3f 100755 --- a/mkfiles.pl +++ b/mkfiles.pl @@ -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" -- 2.11.0