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

@ -1010,9 +1010,21 @@ void AudioDisplay::OnMouseEvent(wxMouseEvent& event)
wxWindow *targetwindow = wxFindWindowAtPoint(event.GetPosition()); wxWindow *targetwindow = wxFindWindowAtPoint(event.GetPosition());
if (targetwindow && targetwindow != this) if (targetwindow && targetwindow != this)
{ {
targetwindow->GetEventHandler()->ProcessEvent(event); wxWindow *parent = GetParent();
event.Skip(false); while (parent && parent != targetwindow)
return; {
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;
}
} }
} }