Handle the Aqua menu layout, in which the system provides a "quit" option
authorben <ben@cda61777-01e9-0310-a592-d414129be87e>
Thu, 27 Feb 2003 23:34:59 +0000 (23:34 +0000)
committerben <ben@cda61777-01e9-0310-a592-d414129be87e>
Thu, 27 Feb 2003 23:34:59 +0000 (23:34 +0000)
for us, correctly.

git-svn-id: svn://svn.tartarus.org/sgt/putty@2899 cda61777-01e9-0310-a592-d414129be87e

mac/mac.c
mac/mac.h

index d8b9b2f..a9a327f 100644 (file)
--- a/mac/mac.c
+++ b/mac/mac.c
@@ -1,4 +1,4 @@
-/* $Id: mac.c,v 1.51 2003/02/23 11:58:59 ben Exp $ */
+/* $Id: mac.c,v 1.52 2003/02/27 23:34:59 ben Exp $ */
 /*
  * Copyright (c) 1999, 2003 Ben Harris
  * All rights reserved.
 /*
  * Copyright (c) 1999, 2003 Ben Harris
  * All rights reserved.
@@ -157,6 +157,9 @@ static void mac_startup(void) {
     if (Gestalt(gestaltWindowMgrAttr, &mac_gestalts.windattr) != noErr ||
        &SetWindowContentColor == kUnresolvedCFragSymbolAddress)
        mac_gestalts.windattr = 0;
     if (Gestalt(gestaltWindowMgrAttr, &mac_gestalts.windattr) != noErr ||
        &SetWindowContentColor == kUnresolvedCFragSymbolAddress)
        mac_gestalts.windattr = 0;
+    /* Mac OS 8.5 Menu Manager? */
+    if (Gestalt(gestaltMenuMgrAttr, &mac_gestalts.menuattr) != noErr)
+       mac_gestalts.menuattr = 0;
 #endif
     /* Text Encoding Conversion Manager? */
     if (
 #endif
     /* Text Encoding Conversion Manager? */
     if (
@@ -189,6 +192,8 @@ static void mac_startup(void) {
        fatalbox("Unable to create menu bar.");
     SetMenuBar(menuBar);
     AppendResMenu(GetMenuHandle(mApple), 'DRVR');
        fatalbox("Unable to create menu bar.");
     SetMenuBar(menuBar);
     AppendResMenu(GetMenuHandle(mApple), 'DRVR');
+    if (mac_gestalts.menuattr & gestaltMenuMgrAquaLayoutMask)
+       DeleteMenuItem(GetMenuHandle(mFile), iQuit);
     mac_adjustmenus();
     DrawMenuBar();
     InitCursor();
     mac_adjustmenus();
     DrawMenuBar();
     InitCursor();
index e18ff74..febce2f 100644 (file)
--- a/mac/mac.h
+++ b/mac/mac.h
@@ -27,6 +27,7 @@ struct mac_gestalts {
     long apprvers;
     long cntlattr;
     long windattr;
     long apprvers;
     long cntlattr;
     long windattr;
+    long menuattr;
     long encvvers; /* TEC version (from TECGetInfo()) */
     long uncvattr; /* Unicode Converter attributes (frem TECGetInfo()) */
     long navsvers; /* Navigation Services version */
     long encvvers; /* TEC version (from TECGetInfo()) */
     long uncvattr; /* Unicode Converter attributes (frem TECGetInfo()) */
     long navsvers; /* Navigation Services version */