X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/0c4b77992e89ec742c9a938395ddaf979b2747e0..deed9e2553ba99e7cd912c924482ba468cab61a1:/mac/mac.c diff --git a/mac/mac.c b/mac/mac.c index 21a2f010..632b6a41 100644 --- a/mac/mac.c +++ b/mac/mac.c @@ -1,4 +1,4 @@ -/* $Id: mac.c,v 1.20 2003/01/08 22:46:12 ben Exp $ */ +/* $Id: mac.c,v 1.24 2003/01/11 19:43:59 ben Exp $ */ /* * Copyright (c) 1999 Ben Harris * All rights reserved. @@ -169,8 +169,13 @@ static void mac_startup(void) { mac_gestalts.uncvattr = (*ti)->tecUnicodeConverterFeatures; DisposeHandle((Handle)ti); } - - mactcp_init(); + /* MacTCP? */ + if (Gestalt(FOUR_CHAR_CODE('mtcp'), &mac_gestalts.mtcpvers) != noErr) + mac_gestalts.mtcpvers = 0; + if (mac_gestalts.mtcpvers > 0) { + if (mactcp_init() != noErr) + mac_gestalts.mtcpvers = 0; + } /* We've been tested with the Appearance Manager */ if (mac_gestalts.apprvers != 0) @@ -225,7 +230,8 @@ static void mac_eventloop(void) { mac_adjustcursor(cursrgn); if (gotevent) mac_event(&event); - mactcp_poll(); + if (mac_gestalts.mtcpvers != 0) + mactcp_poll(); mac_pollterm(); } DisposeRgn(cursrgn); @@ -617,7 +623,8 @@ void cleanup_exit(int status) if (mac_gestalts.encvvers != 0) TerminateUnicodeConverter(); #endif - mactcp_shutdown(); + if (mac_gestalts.mtcpvers != 0) + mactcp_shutdown(); exit(status); } @@ -694,6 +701,58 @@ void old_keyfile_warning(void) } +char *platform_default_s(char *name) +{ + long smfs; + Str255 pname; + static char cname[256]; + + if (!strcmp(name, "Font")) { + smfs = GetScriptVariable(smSystemScript, smScriptMonoFondSize); + if (smfs == 0) + smfs = GetScriptVariable(smRoman, smScriptMonoFondSize); + if (smfs != 0) { + GetFontName(HiWord(smfs), pname); + if (pname[0] == 0) + return "Monaco"; + p2cstrcpy(cname, pname); + return cname; + } else + return "Monaco"; + } + return NULL; +} + +int platform_default_i(char *name, int def) +{ + long smfs; + + if (!strcmp(name, "FontHeight")) { + smfs = GetScriptVariable(smSystemScript, smScriptMonoFondSize); + if (smfs == 0) + smfs = GetScriptVariable(smRoman, smScriptMonoFondSize); + if (smfs != 0) + return LoWord(smfs); + else + return 9; + } + + /* Non-raw cut and paste of line-drawing chars works badly on the + * current Unix stub implementation of the Unicode functions. + * So I'm going to temporarily set the default to raw mode so + * that the failure mode isn't quite so drastically horrid. + * When Unicode comes in, this can all be put right. */ + if (!strcmp(name, "RawCNP")) + return 1; + return def; +} + +void platform_get_x11_auth(char *display, int *proto, + unsigned char *data, int *datalen) +{ + /* SGT: I have no idea whether Mac X servers need anything here. */ +} + /* * Local Variables: * c-file-style: "simon"