From 3725133d059993cdf06d8ba2ec6956a641423d52 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Tue, 23 Sep 2014 17:38:57 +0000 Subject: [PATCH] Click scrollbar will cause recapture mouse twice error, add check sentence before capture and release mouse in HandleMouse() git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77762 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/univ/scrolbar.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/univ/scrolbar.cpp b/src/univ/scrolbar.cpp index 0be586db8d..35d3387552 100644 --- a/src/univ/scrolbar.cpp +++ b/src/univ/scrolbar.cpp @@ -1002,7 +1002,9 @@ bool wxStdScrollBarInputHandler::HandleMouse(wxInputConsumer *consumer, { m_btnCapture = btn; m_winCapture = consumer->GetInputWindow(); - m_winCapture->CaptureMouse(); + + if ( !m_winCapture->HasCapture() ) + m_winCapture->CaptureMouse(); // generate the command bool hasAction = true; @@ -1065,7 +1067,8 @@ bool wxStdScrollBarInputHandler::HandleMouse(wxInputConsumer *consumer, { if ( m_winCapture ) { - StopScrolling(scrollbar); + if ( m_winCapture->HasCapture() ) + StopScrolling(scrollbar); // if we were dragging the thumb, send the last event if ( m_htLast == wxHT_SCROLLBAR_THUMB )