X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a9169c1bd342561a663f8484179c48d71561b90f..a811affe70feeb727bf7fbd2748a48ded6ec3b9b:/src/mac/toplevel.cpp diff --git a/src/mac/toplevel.cpp b/src/mac/toplevel.cpp index 56d3c0ded6..efcf1a737d 100644 --- a/src/mac/toplevel.cpp +++ b/src/mac/toplevel.cpp @@ -162,7 +162,7 @@ wxTopLevelWindowMac::~wxTopLevelWindowMac() wxPendingDelete.Append( new wxMacDeferredWindowDeleter( (WindowRef) m_macWindow ) ) ; } - #if TARGET_CARBON +#if TARGET_CARBON if ( m_macEventHandler ) { ::RemoveEventHandler((EventHandlerRef) m_macEventHandler); @@ -171,21 +171,9 @@ wxTopLevelWindowMac::~wxTopLevelWindowMac() #endif wxRemoveMacWindowAssociation( this ) ; - wxTopLevelWindows.DeleteObject(this); - if ( wxModelessWindows.Find(this) ) wxModelessWindows.DeleteObject(this); - // If this is the last top-level window, exit. - if ( wxTheApp && (wxTopLevelWindows.Number() == 0) ) - { - wxTheApp->SetTopWindow(NULL); - - if ( wxTheApp->GetExitOnFrameDelete() ) - { - wxTheApp->ExitMainLoop() ; - } - } DisposeRgn( (RgnHandle) m_macNoEraseUpdateRgn ) ; } @@ -245,18 +233,9 @@ pascal OSStatus wxMacWindowEventHandler( EventHandlerCallRef handler , EventRef case kEventClassTextInput : if ( wxMacConvertEventToRecord( event , &rec ) ) { - short keycode ; - short keychar ; - keychar = short(rec.message & charCodeMask); - keycode = short(rec.message & keyCodeMask) >> 8 ; + wxTheApp->m_macCurrentEvent = &rec ; wxWindow* focus = wxWindow::FindFocus() ; - // it is wxWindows Convention to have Ctrl Key Combinations at ASCII char value - if ( (rec.modifiers & controlKey) && keychar >= 0 && keychar < 0x20 ) - { - keychar += 0x40 ; - } - long keyval = wxMacTranslateKey(keychar, keycode) ; - if ( (focus != NULL) && wxTheApp->MacSendKeyDownEvent( focus , keyval , rec.modifiers , rec.when , rec.where.h , rec.where.v ) ) + if ( (focus != NULL) && wxTheApp->MacSendKeyDownEvent( focus , rec.message , rec.modifiers , rec.when , rec.where.h , rec.where.v ) ) { // was handled internally result = noErr ;