mirror of
https://github.com/python/cpython.git
synced 2025-11-01 10:45:30 +00:00
- Raise console window on input. Fixes Carbon hang.
- Better handling of menu bar save/restore. - Override abort() so it honours the "keep console window" flag.
This commit is contained in:
parent
ee677913df
commit
15f1c08d96
3 changed files with 32 additions and 4 deletions
|
|
@ -685,11 +685,13 @@ PyMac_DoYield(int maxsleep, int maycallpython)
|
|||
*/
|
||||
if( in_here > 1 || !schedparams.process_events ||
|
||||
(python_event_handler && !maycallpython) ) {
|
||||
#if !TARGET_API_MAC_CARBON
|
||||
if ( maxsleep >= 0 ) {
|
||||
#if !TARGET_API_MAC_CARBON
|
||||
SystemTask();
|
||||
}
|
||||
#else
|
||||
int xxx = 0;
|
||||
#endif
|
||||
}
|
||||
} else {
|
||||
latest_time_ready = LMGetTicks() + maxsleep;
|
||||
do {
|
||||
|
|
@ -768,6 +770,7 @@ PyMac_InitMenuBar()
|
|||
{
|
||||
MenuHandle applemenu;
|
||||
|
||||
if ( sioux_mbar ) return;
|
||||
if ( (sioux_mbar=GetMenuBar()) == NULL ) {
|
||||
/* Sioux menu not installed yet. Do so */
|
||||
SIOUXSetupMenus();
|
||||
|
|
@ -784,7 +787,7 @@ PyMac_InitMenuBar()
|
|||
void
|
||||
PyMac_RestoreMenuBar()
|
||||
{
|
||||
#if 0
|
||||
#if 1
|
||||
/* This doesn't seem to work anymore? Or only for Carbon? */
|
||||
MenuBarHandle curmenubar;
|
||||
|
||||
|
|
@ -799,6 +802,19 @@ PyMac_RestoreMenuBar()
|
|||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
PyMac_RaiseConsoleWindow()
|
||||
{
|
||||
/* Note: this is a hack. SIOUXTextWindow is SIOUX's internal structure
|
||||
** and we happen to know that the first entry is the window pointer.
|
||||
*/
|
||||
extern WindowRef *SIOUXTextWindow;
|
||||
|
||||
if ( SIOUXTextWindow == NULL || *SIOUXTextWindow == NULL )
|
||||
return;
|
||||
if ( FrontWindow() != *SIOUXTextWindow )
|
||||
BringToFront(*SIOUXTextWindow);
|
||||
}
|
||||
|
||||
/*
|
||||
** Our replacement about box
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue