- Restore SIOUX menubar just before exiting, if the console window is kept

open (so the user can quit with cmd-Q, print, etc)
- Removed a few unused routines
This commit is contained in:
Jack Jansen 1997-06-12 10:49:13 +00:00
parent 455838a217
commit caa7c46ac4
2 changed files with 27 additions and 21 deletions

View File

@ -159,6 +159,11 @@ int PyMac_DoYieldEnabled = 1;
*/
int PyMac_ConsoleIsDead;
/*
** Sioux menu bar, saved early so we can restore it
*/
static Handle sioux_mbar;
/*
** Some stuff for our GetDirectory and PromptGetFile routines
*/
@ -415,8 +420,6 @@ scan_event_queue(flush)
}
}
#define TICKCOUNT 6
int
PyOS_InterruptOccurred()
{
@ -426,6 +429,7 @@ PyOS_InterruptOccurred()
schedparams.next_check = (unsigned long)LMGetTicks()
+ schedparams.check_interval;
if (interrupted) {
scan_event_queue(1); /* Eat events up to cmd-. */
interrupted = 0;
return 1;
}
@ -434,23 +438,6 @@ PyOS_InterruptOccurred()
return 0;
}
#if 0
/* intrpeek() is like intrcheck(), but it doesn't flush the events. The
** idea is that you call intrpeek() somewhere in a busy-wait loop, and return
** None as soon as it returns 1. The mainloop will then pick up the cmd-. soon
** thereafter.
*/
static int
intrpeek()
{
#ifdef THINK_C
scan_event_queue(0);
#endif
return interrupted;
}
#endif
/* Check whether we are in the foreground */
int
PyMac_InForeground()
@ -505,6 +492,7 @@ PyMac_HandleEvent(evp, maycallpython)
}
}
#endif /* !__MWERKS__ */
printf("not handled\n");
}
/*
@ -596,20 +584,36 @@ PyMac_SetSchedParams(PyMacSchedParams *sp)
schedparams.enabled = 0;
schedparams.next_check = 0; /* Check immedeately */
}
/*
** Install our menu bar.
*/
void
PyMac_InitMenuBar()
{
Handle bar;
MenuHandle applemenu;
if ( (bar=GetMenuBar()) == NULL ) return;
if ( (sioux_mbar=GetMenuBar()) == NULL ) {
/* Sioux menu not installed yet. Do so */
SIOUXSetupMenus();
if ( (sioux_mbar=GetMenuBar()) == NULL )
return;
}
if ( (applemenu=GetMenuHandle(SIOUX_APPLEID)) == NULL ) return;
SetMenuItemText(applemenu, 1, "\pAbout Python...");
}
/*
** Restore sioux menu bar
*/
void
PyMac_RestoreMenuBar()
{
if ( sioux_mbar )
SetMenuBar(sioux_mbar);
}
/*
** Our replacement about box
*/

View File

@ -214,6 +214,7 @@ init_common(int *argcp, char ***argvp, int embedded)
#ifdef USE_SIOUX
/* Set various SIOUX flags. Some are changed later based on options */
/* SIOUXSettings.standalone = 0; /* XXXX Attempting to keep sioux from eating events */
SIOUXSettings.asktosaveonclose = 0;
SIOUXSettings.showstatusline = 0;
SIOUXSettings.tabspaces = 4;
@ -462,6 +463,7 @@ PyMac_Exit(status)
SIOUXSettings.standalone = 1;
SIOUXSettings.autocloseonquit = 0;
SIOUXSetTitle("\p\307terminated\310");
PyMac_RestoreMenuBar();
#ifdef USE_MSL
/*
** Temporary workaround: autocloseonquit clearing does not