changed FindControl to FindControlUnderMouse and use ControlRef != NULL instead of ControlPart = noPart , we had false ControlPart = 0 returned under Carbon in MacOS X

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11611 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor 2001-09-15 20:39:46 +00:00
parent 244531bc96
commit 280df08533
2 changed files with 6 additions and 4 deletions

View File

@ -835,7 +835,8 @@ void wxControl::OnMouseEvent( wxMouseEvent &event )
if ( event.m_metaDown )
modifiers |= cmdKey ;
controlpart = FindControl( localwhere , window , &control ) ;
// controlpart = FindControl( localwhere , window , &control ) ;
control = FindControlUnderMouse( localwhere , window , &controlpart ) ;
{
/*
if ( AcceptsFocus() && FindFocus() != this )
@ -851,7 +852,7 @@ void wxControl::OnMouseEvent( wxMouseEvent &event )
else
controlpart = UMAHandleControlClick( control , localwhere , modifiers , (ControlActionUPP) -1 ) ;
wxTheApp->s_lastMouseDown = 0 ;
if ( controlpart && ! ( ( UMAHasAppearance() || (controlpart != kControlIndicatorPart) )
if ( control && ! ( ( UMAHasAppearance() || (controlpart != kControlIndicatorPart) )
&& (IsKindOf( CLASSINFO( wxScrollBar ) ) ) ) ) // otherwise we will get the event twice
{
MacHandleControlClick( control , controlpart ) ;

View File

@ -835,7 +835,8 @@ void wxControl::OnMouseEvent( wxMouseEvent &event )
if ( event.m_metaDown )
modifiers |= cmdKey ;
controlpart = FindControl( localwhere , window , &control ) ;
// controlpart = FindControl( localwhere , window , &control ) ;
control = FindControlUnderMouse( localwhere , window , &controlpart ) ;
{
/*
if ( AcceptsFocus() && FindFocus() != this )
@ -851,7 +852,7 @@ void wxControl::OnMouseEvent( wxMouseEvent &event )
else
controlpart = UMAHandleControlClick( control , localwhere , modifiers , (ControlActionUPP) -1 ) ;
wxTheApp->s_lastMouseDown = 0 ;
if ( controlpart && ! ( ( UMAHasAppearance() || (controlpart != kControlIndicatorPart) )
if ( control && ! ( ( UMAHasAppearance() || (controlpart != kControlIndicatorPart) )
&& (IsKindOf( CLASSINFO( wxScrollBar ) ) ) ) ) // otherwise we will get the event twice
{
MacHandleControlClick( control , controlpart ) ;