From 1c36409da2079330c132bb8f36b3605cd0db2344 Mon Sep 17 00:00:00 2001 From: Pokechu22 Date: Sun, 14 Jan 2018 12:08:07 -0800 Subject: [PATCH] Bug 1819: Hover indication on note track channel toggle appears on all tracks (when they rerender) --- src/TrackPanel.cpp | 3 ++- src/tracks/playabletrack/notetrack/ui/NoteTrackButtonHandle.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/TrackPanel.cpp b/src/TrackPanel.cpp index 4825e6adc..cffc29f87 100644 --- a/src/TrackPanel.cpp +++ b/src/TrackPanel.cpp @@ -2164,7 +2164,8 @@ void TrackInfo::MidiControlsDrawFunction { #ifdef EXPERIMENTAL_MIDI_OUT auto target = dynamic_cast( context.target.get() ); - auto channel = target ? target->GetChannel() : -1; + bool hit = target && target->GetTrack().get() == pTrack; + auto channel = hit ? target->GetChannel() : -1; auto &dc = context.dc; wxRect midiRect = rect; GetMidiControlsHorizontalBounds(rect, midiRect); diff --git a/src/tracks/playabletrack/notetrack/ui/NoteTrackButtonHandle.h b/src/tracks/playabletrack/notetrack/ui/NoteTrackButtonHandle.h index 2a814c8de..0b62b594b 100644 --- a/src/tracks/playabletrack/notetrack/ui/NoteTrackButtonHandle.h +++ b/src/tracks/playabletrack/notetrack/ui/NoteTrackButtonHandle.h @@ -40,6 +40,7 @@ public: const wxMouseState &state, const wxRect &rect, const std::shared_ptr &pTrack); + std::shared_ptr GetTrack() const { return mpTrack.lock(); } int GetChannel() const { return mChannel; } static UIHandle::Result NeedChangeHighlight