From: Vadim Zeitlin Date: Sun, 18 Aug 2013 13:28:13 +0000 (+0000) Subject: Don't set even try to set focus to wxPopupWindow itself in wxMSW. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/af2372b95d4aca14e97c1ffaca6954f136513589?hp=0c60a0e2b726073be874f45e5227ea93b63623f4 Don't set even try to set focus to wxPopupWindow itself in wxMSW. This doesn't work anyhow with our popup window implementation (it's a child of the desktop and we can't set focus to it) and provokes error messages due to ::SetFocus() failures, so simply don't do this at all. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74676 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/msw/popupwin.h b/include/wx/msw/popupwin.h index 374fcbc511..d95c1dabc0 100644 --- a/include/wx/msw/popupwin.h +++ b/include/wx/msw/popupwin.h @@ -25,6 +25,7 @@ public: bool Create(wxWindow *parent, int flags = wxBORDER_NONE); + virtual void SetFocus(); virtual bool Show(bool show = true); // return the style to be used for the popup windows diff --git a/src/msw/popupwin.cpp b/src/msw/popupwin.cpp index 9ed7714d7e..fbcf9961e6 100644 --- a/src/msw/popupwin.cpp +++ b/src/msw/popupwin.cpp @@ -89,6 +89,15 @@ WXHWND wxPopupWindow::MSWGetParent() const #endif } +void wxPopupWindow::SetFocus() +{ + // Focusing on a popup window does not work on MSW unless WS_POPUP style is + // set (which is never the case currently, see the note in MSWGetParent()). + // We do not even want to try to set the focus, as it returns an error from + // SetFocus() on recent Windows versions (since Vista) and the resulting + // debug message is annoying. +} + bool wxPopupWindow::Show(bool show) { if ( !wxWindowMSW::Show(show) )