fix for scrollbar's thumb update bug in wxUniv
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14090 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -122,6 +122,9 @@ protected:
|
|||||||
|
|
||||||
// event handlers
|
// event handlers
|
||||||
void OnIdle(wxIdleEvent& event);
|
void OnIdle(wxIdleEvent& event);
|
||||||
|
|
||||||
|
// forces update of thumb's visual appearence (does nothing if m_dirty=FALSE)
|
||||||
|
void UpdateThumb();
|
||||||
|
|
||||||
// SetThumbPosition() helper
|
// SetThumbPosition() helper
|
||||||
void DoSetThumb(int thumbPos);
|
void DoSetThumb(int thumbPos);
|
||||||
|
@@ -300,6 +300,12 @@ wxScrollArrows::Arrow wxScrollBar::HitTest(const wxPoint& pt) const
|
|||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
void wxScrollBar::OnIdle(wxIdleEvent& event)
|
void wxScrollBar::OnIdle(wxIdleEvent& event)
|
||||||
|
{
|
||||||
|
UpdateThumb();
|
||||||
|
event.Skip();
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxScrollBar::UpdateThumb()
|
||||||
{
|
{
|
||||||
if ( m_dirty )
|
if ( m_dirty )
|
||||||
{
|
{
|
||||||
@@ -373,8 +379,6 @@ void wxScrollBar::OnIdle(wxIdleEvent& event)
|
|||||||
|
|
||||||
m_dirty = FALSE;
|
m_dirty = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
event.Skip();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxScrollBar::DoDraw(wxControlRenderer *renderer)
|
void wxScrollBar::DoDraw(wxControlRenderer *renderer)
|
||||||
@@ -464,6 +468,10 @@ bool wxScrollBar::PerformAction(const wxControlAction& action,
|
|||||||
{
|
{
|
||||||
DoSetThumb(numArg);
|
DoSetThumb(numArg);
|
||||||
|
|
||||||
|
// VS: we have to force redraw here, otherwise the thumb will lack
|
||||||
|
// behind mouse cursor
|
||||||
|
UpdateThumb();
|
||||||
|
|
||||||
scrollType = wxEVT_SCROLLWIN_THUMBTRACK;
|
scrollType = wxEVT_SCROLLWIN_THUMBTRACK;
|
||||||
}
|
}
|
||||||
else if ( action == wxACTION_SCROLL_LINE_UP )
|
else if ( action == wxACTION_SCROLL_LINE_UP )
|
||||||
|
Reference in New Issue
Block a user