use HWND in HandleCommand() to let buggy programs using duplicate ids for controls work

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5415 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2000-01-15 00:17:06 +00:00
parent f61715c852
commit b853f8981f

View File

@@ -2982,10 +2982,16 @@ bool wxWindow::HandleCommand(WXWORD id, WXWORD cmd, WXHWND control)
return popupMenu->MSWCommand(cmd, id);
}
// must cast to a signed type before comparing with other ids!
wxWindow *win = FindItem((signed short)id);
if ( !win )
wxWindow *win;
if ( cmd == 0 || cmd == 1 ) // menu or accel - use id
{
// must cast to a signed type before comparing with other ids!
win = FindItem((signed short)id);
}
else
{
// find it from HWND - this works even with the broken programs using
// the same ids for different controls
win = wxFindWinFromHandle(control);
}