- // TODO: Is this now obsolete, given that m_topWindow may not be defined?
- // Does it do anything useful anyway?
-// if (m_topWindow && m_topWindow->MSWProcessMessage(Msg))
-// return TRUE;
- return FALSE;
+ // Anyone for a non-translation message? Try youngest descendants first.
+ for (hWnd = msg->hwnd; hWnd != NULL; hWnd = ::GetParent(hWnd))
+ {
+ wxWindow *wnd = wxFindWinFromHandle((WXHWND) hWnd);
+ if (wnd)
+ {
+ if (wnd->MSWProcessMessage(Msg))
+ return TRUE;
+ }
+ }
+ return FALSE;