diff --git a/docs/changes.txt b/docs/changes.txt index b7480f9fc4..f97d6ec69e 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -36,7 +36,7 @@ wxOS2 wxUniv: - Window creation now honours wxVSCROLL. - +- Standalone scrollbars generate events of correct type (Jochen Roemmler) 2.6.1 ----- diff --git a/src/univ/scrolbar.cpp b/src/univ/scrolbar.cpp index 93fdb0ba40..4ccf1481c5 100644 --- a/src/univ/scrolbar.cpp +++ b/src/univ/scrolbar.cpp @@ -554,12 +554,18 @@ bool wxScrollBar::PerformAction(const wxControlAction& action, // NB: we assume that scrollbar events are sequentially numbered // but this should be ok as other code relies on this as well scrollType += wxEVT_SCROLL_TOP - wxEVT_SCROLLWIN_TOP; + wxScrollEvent event(scrollType, this->GetId(), m_thumbPos, + IsVertical() ? wxVERTICAL : wxHORIZONTAL); + event.SetEventObject(this); + GetParent()->GetEventHandler()->ProcessEvent(event); + } + else // part of the window + { + wxScrollWinEvent event(scrollType, m_thumbPos, + IsVertical() ? wxVERTICAL : wxHORIZONTAL); + event.SetEventObject(this); + GetParent()->GetEventHandler()->ProcessEvent(event); } - - wxScrollWinEvent event(scrollType, m_thumbPos, - IsVertical() ? wxVERTICAL : wxHORIZONTAL); - event.SetEventObject(this); - GetParent()->GetEventHandler()->ProcessEvent(event); } return true;