diff --git a/src/eepp/scene/eventdispatcher.cpp b/src/eepp/scene/eventdispatcher.cpp index e16da715f..090ffadcd 100644 --- a/src/eepp/scene/eventdispatcher.cpp +++ b/src/eepp/scene/eventdispatcher.cpp @@ -107,8 +107,10 @@ void EventDispatcher::update( const Time& time ) { Node * lastFocusControl = mFocusControl; if ( NULL != mOverControl ) { - mOverControl->onMouseUp( mMousePosi, mInput->getReleaseTrigger() ); - sendMsg( mOverControl, NodeMessage::MouseUp, mInput->getReleaseTrigger() ); + getOverControl()->onMouseUp( mMousePosi, mInput->getReleaseTrigger() ); + + if ( NULL != getOverControl() ) + sendMsg( getOverControl(), NodeMessage::MouseUp, mInput->getReleaseTrigger() ); } if ( mInput->getClickTrigger() ) { diff --git a/src/eepp/ui/uilistboxitem.cpp b/src/eepp/ui/uilistboxitem.cpp index 0dbe8ffea..53a511042 100644 --- a/src/eepp/ui/uilistboxitem.cpp +++ b/src/eepp/ui/uilistboxitem.cpp @@ -43,15 +43,18 @@ void UIListBoxItem::setTheme( UITheme * Theme ) { } Uint32 UIListBoxItem::onMouseUp( const Vector2i& Pos, const Uint32 Flags ) { + UITextView::onMouseUp( Pos, Flags ); + if ( mEnabled && mVisible ) { UIListBox * LBParent = reinterpret_cast ( getParent()->getParent() ); if ( Flags & EE_BUTTONS_WUWD && LBParent->getVerticalScrollBar()->isVisible() ) { + // Manage click can delete _this_ LBParent->getVerticalScrollBar()->getSlider()->manageClick( Flags ); } } - return UITextView::onMouseUp( Pos, Flags ); + return 1; } Uint32 UIListBoxItem::onMouseClick( const Vector2i& Pos, const Uint32 Flags ) {