Don't hit any TrackPanel or Ruler cells when mouse is out of window
This commit is contained in:
parent
74efec9d39
commit
2c28af05e8
|
@ -2087,15 +2087,13 @@ auto TrackPanel::FindCell(int mouseX, int mouseY) -> FoundCell
|
|||
{
|
||||
auto range = Cells();
|
||||
auto &iter = range.first, &end = range.second;
|
||||
auto prev = iter;
|
||||
while
|
||||
( iter != end &&
|
||||
!(*iter).second.Contains( mouseX, mouseY ) )
|
||||
prev = iter++;
|
||||
if ( iter == end )
|
||||
// Default to the background cell, which is always last in the sequence,
|
||||
// even if it does not contain the point
|
||||
iter = prev;
|
||||
++iter;
|
||||
if (iter == end)
|
||||
return {};
|
||||
|
||||
auto found = *iter;
|
||||
return {
|
||||
found.first,
|
||||
|
|
|
@ -3606,7 +3606,10 @@ auto AdornedRulerPanel::FindCell(int mouseX, int mouseY) -> FoundCell
|
|||
if (mayScrub && mScrubZone.Contains(mouseX, mouseY))
|
||||
return { mScrubbingCell, mScrubZone };
|
||||
|
||||
return { mQPCell, mInner };
|
||||
if (mInner.Contains(mouseX, mouseY))
|
||||
return { mQPCell, mInner };
|
||||
|
||||
return {};
|
||||
}
|
||||
|
||||
wxRect AdornedRulerPanel::FindRect(const TrackPanelCell &cell)
|
||||
|
|
Loading…
Reference in New Issue
Block a user