]> git.saurik.com Git - wxWidgets.git/commitdiff
Don't set even try to set focus to wxPopupWindow itself in wxMSW.
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 18 Aug 2013 13:28:13 +0000 (13:28 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 18 Aug 2013 13:28:13 +0000 (13:28 +0000)
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
src/msw/popupwin.cpp

index 374fcbc51134af4699fdd09a2d1c281c2ae64803..d95c1dabc06066e4c9040b0b6eb16dcf62529228 100644 (file)
@@ -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
index 9ed7714d7e00f23a04d086438f5ead7dcaf0b141..fbcf9961e69c4a14c5caa591fa9aed95904af621 100644 (file)
@@ -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) )