X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/129c8cf3524ba45c690192cada38025a7aa544ca..0a7f54ff76a7b1539866f30c96ab0c6de9f7b5aa:/src/generic/combog.cpp diff --git a/src/generic/combog.cpp b/src/generic/combog.cpp index 1ad84ee1db..5864782b95 100644 --- a/src/generic/combog.cpp +++ b/src/generic/combog.cpp @@ -280,11 +280,10 @@ void wxGenericComboCtrl::OnPaintEvent( wxPaintEvent& WXUNUSED(event) ) void wxGenericComboCtrl::OnMouseEvent( wxMouseEvent& event ) { - bool isOnButtonArea = m_btnArea.Contains(event.m_x,event.m_y); + int mx = event.m_x; + bool isOnButtonArea = m_btnArea.Contains(mx,event.m_y); int handlerFlags = isOnButtonArea ? wxCC_MF_ON_BUTTON : 0; - // Preprocessing fabricates double-clicks and prevents - // (it may also do other common things in future) if ( PreprocessMouseEvent(event,handlerFlags) ) return; @@ -301,8 +300,11 @@ void wxGenericComboCtrl::OnMouseEvent( wxMouseEvent& event ) } else { - if ( isOnButtonArea || HasCapture() ) + if ( isOnButtonArea || HasCapture() || + (m_widthCustomPaint && mx < (m_tcArea.x+m_widthCustomPaint)) ) { + handlerFlags |= wxCC_MF_ON_CLICK_AREA; + if ( HandleButtonMouseEvent(event,handlerFlags) ) return; }