Only forward scroll wheel events to siblings and not parents to work around wx weirdness

Originally committed to SVN as r5702.
This commit is contained in:
Thomas Goyne 2011-10-01 18:34:49 +00:00
parent 5be401a1de
commit c199bd6d18
1 changed files with 15 additions and 3 deletions

View File

@ -1009,12 +1009,24 @@ void AudioDisplay::OnMouseEvent(wxMouseEvent& event)
{
wxWindow *targetwindow = wxFindWindowAtPoint(event.GetPosition());
if (targetwindow && targetwindow != this)
{
wxWindow *parent = GetParent();
while (parent && parent != targetwindow)
{
parent = parent->GetParent();
}
// Don't forward scroll wheel events to parents of this as the
// target is sometimes reported as a parent even when the mouse
// is over the audio display
if (!parent)
{
targetwindow->GetEventHandler()->ProcessEvent(event);
event.Skip(false);
return;
}
}
}
bool zoom = event.CmdDown();
if (OPT_GET("Audio/Wheel Default to Zoom")->GetBool()) zoom = !zoom;