--- np2/macosx/toolwin.cpp 2004/01/23 17:37:39 1.17 +++ np2/macosx/toolwin.cpp 2004/03/15 05:06:01 1.19 @@ -16,6 +16,7 @@ #include "pccore.h" #include "iocore.h" +extern void HandleMenuChoice(long wParam); enum { IDC_TOOLHDDACC = 0, @@ -202,9 +203,7 @@ const char *p; bool success = false; GetBevelButtonMenuHandle(hwnd, &menu); - while (MenuHasEnabledItems(menu)) { - DeleteMenuItem(menu, 1); - }; + DeleteMenuItems(menu, 1, fdd->cnt); #if 0 GetControlBounds(hwnd, &rc); width = rc.right - rc.left - 6; // border size? @@ -264,6 +263,9 @@ const char *p; } else { SetControlTitleWithCFString(hwnd, CFSTR(" ")); + for (i=0; icnt; i++) { + CheckMenuItem(menu, i+1, 0); + } } } @@ -528,7 +530,7 @@ static pascal OSStatus cfWinproc(EventHa switch (cmd.commandID) { case 'rset': - recieveCommand(IDM_RESET); + HandleMenuChoice(IDM_RESET); err=noErr; break; @@ -538,12 +540,12 @@ static pascal OSStatus cfWinproc(EventHa break; case 'opn1': - recieveCommand(IDM_FDD1OPEN); + HandleMenuChoice(IDM_FDD1OPEN); err=noErr; break; case 'ejt1': - recieveCommand(IDM_FDD1EJECT); + HandleMenuChoice(IDM_FDD1EJECT); err=noErr; break; @@ -553,17 +555,17 @@ static pascal OSStatus cfWinproc(EventHa break; case 'opn2': - recieveCommand(IDM_FDD2OPEN); + HandleMenuChoice(IDM_FDD2OPEN); err=noErr; break; case 'ejt2': - recieveCommand(IDM_FDD2EJECT); + HandleMenuChoice(IDM_FDD2EJECT); err=noErr; break; case 'exit': - recieveCommand(IDM_EXIT); + HandleMenuChoice(IDM_EXIT); err=noErr; break; @@ -617,7 +619,7 @@ static pascal OSStatus cfWinproc(EventHa EventRecord eve; ConvertEventRefToEventRecord( event,&eve ); mousemng_disable(MOUSEPROC_MACUI); - recieveCommand(MenuEvent(&eve)); + HandleMenuChoice(MenuEvent(&eve)); mousemng_enable(MOUSEPROC_MACUI); } else {