X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/33ac7e6f01acbac1cff0ad400d8ea7f0bfd0a62f..804c69d3d193d0d821aea227524f8f5d96ecc309:/src/msw/app.cpp diff --git a/src/msw/app.cpp b/src/msw/app.cpp index 3424745eaf..ed4d736788 100644 --- a/src/msw/app.cpp +++ b/src/msw/app.cpp @@ -601,7 +601,9 @@ void wxApp::CleanUp() #if wxUSE_THREADS delete wxPendingEventsLocker; // If we don't do the following, we get an apparent memory leak. +#if wxUSE_VALIDATORS ((wxEvtHandler&) wxDefaultValidator).ClearEventLocker(); +#endif #endif wxClassInfo::CleanUpClasses(); @@ -1058,6 +1060,12 @@ bool wxApp::ProcessMessage(WXMSG *wxmsg) { if ( wnd->MSWTranslateMessage(wxmsg) ) return TRUE; + + // stop at first top level window, i.e. don't try to process the key + // strokes originating in a dialog using the accelerators of the parent + // frame - this doesn't make much sense + if ( wnd->IsTopLevel() ) + break; } // Anyone for a non-translation message? Try youngest descendants first.