--- np2/macosx/np2.cpp 2003/11/03 10:19:43 1.27 +++ np2/macosx/np2.cpp 2003/11/06 01:58:36 1.31 @@ -37,7 +37,7 @@ #include "midiopt.h" #include "macalert.h" #include "np2opening.h" -#include "toolmac.h" +#include "toolwin.h" #include #define USE_RESUME @@ -547,17 +547,22 @@ static void HandleMouseDown(EventRecord // ---- +static void framereset(UINT waitcnt) { + + framecnt = 0; + toolwin_draw((BYTE)waitcnt); + if (np2oscfg.DISPCLK & 3) { + if (sysmng_workclockrenewal()) { + sysmng_updatecaption(3); + } + } +} + static void processwait(UINT waitcnt) { if (timing_getcount() >= waitcnt) { - framecnt = 0; timing_setcount(0); - toolwin_draw((BYTE)waitcnt); - if (np2oscfg.DISPCLK & 3) { - if (sysmng_workclockrenewal()) { - sysmng_updatecaption(3); - } - } + framereset(waitcnt); } } @@ -748,7 +753,7 @@ int main(int argc, char *argv[]) { else { timing_setcount(cnt - framecnt); } - processwait(0); + framereset(0); } } else { @@ -765,7 +770,6 @@ int main(int argc, char *argv[]) { toggleFullscreen(); } - toolwin_writeini(); pccore_cfgupdate(); #if defined(USE_RESUME) @@ -789,7 +793,8 @@ int main(int argc, char *argv[]) { scrnmng_destroy(); if (sys_updates & (SYS_UPDATECFG | SYS_UPDATEOSCFG)) { - initsave(); + initsave(); // np2.cfg create + toolwin_writeini(); // np2.cfg append } TRACETERM(); macossub_term(); @@ -920,6 +925,9 @@ static pascal OSStatus np2windowevent(Ev case kEventWindowDragCompleted: soundmng_play(); break; + case kEventWindowShown: + scrndraw_redraw(); + break; } break; case kEventClassKeyboard: @@ -988,6 +996,7 @@ static const EventTypeSpec windEventList {kEventClassWindow, kEventWindowToolbarSwitchMode}, {kEventClassWindow, kEventWindowDragStarted}, {kEventClassWindow, kEventWindowDragCompleted}, + {kEventClassWindow, kEventWindowShown}, {kEventClassKeyboard, kEventRawKeyDown}, {kEventClassKeyboard, kEventRawKeyUp}, {kEventClassKeyboard, kEventRawKeyRepeat},