X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d2aa263fd120a01843fb40a063abe8c6ff921cbc..8a18ea3f03ee46d13545a26156631ac102441fc1:/src/common/popupcmn.cpp diff --git a/src/common/popupcmn.cpp b/src/common/popupcmn.cpp index 57ba86c0a0..1e789810b1 100644 --- a/src/common/popupcmn.cpp +++ b/src/common/popupcmn.cpp @@ -107,7 +107,7 @@ BEGIN_EVENT_TABLE(wxPopupFocusHandler, wxEvtHandler) END_EVENT_TABLE() BEGIN_EVENT_TABLE(wxPopupTransientWindow, wxPopupWindow) -#ifdef __WXMSW__ +#if defined( __WXMSW__ ) || defined( __WXMAC__) EVT_IDLE(wxPopupTransientWindow::OnIdle) #endif END_EVENT_TABLE() @@ -263,7 +263,7 @@ void wxPopupTransientWindow::Popup(wxWindow *winFocus) m_focus = winFocus ? winFocus : this; m_focus->SetFocus(); -#ifdef __WXMSW__ +#if defined( __WXMSW__ ) || defined( __WXMAC__) // MSW doesn't allow to set focus to the popup window, but we need to // subclass the window which has the focus, and not winFocus passed in or // otherwise everything else breaks down @@ -301,7 +301,7 @@ bool wxPopupTransientWindow::Show( bool show ) } #endif -#ifdef __WXMSW__ +#if defined( __WXMSW__ ) || defined( __WXMAC__) if (!show && m_child && m_child->HasCapture()) { m_child->ReleaseMouse(); @@ -343,7 +343,7 @@ bool wxPopupTransientWindow::Show( bool show ) } #endif -#ifdef __WXMSW__ +#if defined( __WXMSW__ ) || defined( __WXMAC__) if (show && m_child) { // Assume that the mouse is outside the popup to begin with @@ -377,7 +377,7 @@ bool wxPopupTransientWindow::ProcessLeftDown(wxMouseEvent& WXUNUSED(event)) return false; } -#ifdef __WXMSW__ +#if defined( __WXMSW__ ) || defined( __WXMAC__) void wxPopupTransientWindow::OnIdle(wxIdleEvent& event) { event.Skip(); @@ -507,7 +507,7 @@ void wxPopupWindowHandler::OnLeftDown(wxMouseEvent& event) winUnder->ScreenToClient(&event2.m_x, &event2.m_y); event2.SetEventObject(winUnder); - wxPostEvent(winUnder, event2); + wxPostEvent(winUnder->GetEventHandler(), event2); } } break;