Partially revert the changes of r69350 to restore EVT_IDLE handling of
wxPopupTransientWindow under MSW. It turns out that we must release the mouse
for the embedded controls to work.
It would be better to solve the problem differently, e.g. perhaps maybe only
releasing mouse capture when mouse is clicked as the current code is fragile
but for now at least restore the functionality that used to work.
Closes #13740.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69966
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
// get alerted when child gets deleted from under us
void OnDestroy(wxWindowDestroyEvent& event);
- // wxOSX/Carbon doesn't generate mouse capture loss events currently so
- // poll for the capture loss ourselves.
-#if defined(__WXMAC__) && wxOSX_USE_CARBON
- // check if the mouse needs captured or released
+#if defined(__WXMSW__) ||(defined(__WXMAC__) && wxOSX_USE_CARBON)
+ // Check if the mouse needs to be captured or released: we must release
+ // when it's inside our window if we want the embedded controls to work.
void OnIdle(wxIdleEvent& event);
#endif
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxPopupTransientWindow, wxPopupWindow)
-#if defined(__WXMAC__) && wxOSX_USE_CARBON
+#if defined(__WXMSW__) ||(defined(__WXMAC__) && wxOSX_USE_CARBON)
EVT_IDLE(wxPopupTransientWindow::OnIdle)
#endif
END_EVENT_TABLE()
return false;
}
-#if defined(__WXMAC__) && wxOSX_USE_CARBON
+#if defined(__WXMSW__) ||(defined(__WXMAC__) && wxOSX_USE_CARBON)
void wxPopupTransientWindow::OnIdle(wxIdleEvent& event)
{
event.Skip();