From af2372b95d4aca14e97c1ffaca6954f136513589 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 18 Aug 2013 13:28:13 +0000 Subject: [PATCH] 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 --- include/wx/msw/popupwin.h | 1 + src/msw/popupwin.cpp | 9 +++++++++ 2 files changed, 10 insertions(+) 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) ) -- 2.45.2