From a3bda830a8f4862f38fe6fb282ef7589f66e6088 Mon Sep 17 00:00:00 2001 From: "Charles J. Cliffe" Date: Sat, 6 Dec 2014 21:10:29 -0500 Subject: [PATCH] Fix waterfall canvas to interact with active demod --- src/visual/WaterfallCanvas.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/visual/WaterfallCanvas.cpp b/src/visual/WaterfallCanvas.cpp index 942da14..b619ed4 100644 --- a/src/visual/WaterfallCanvas.cpp +++ b/src/visual/WaterfallCanvas.cpp @@ -205,9 +205,12 @@ void WaterfallCanvas::OnIdle(wxIdleEvent &event) { void WaterfallCanvas::mouseMoved(wxMouseEvent& event) { mTracker.OnMouseMoved(event); - DemodulatorInstance *demod = wxGetApp().getDemodTest(); + DemodulatorInstance *demod = activeDemodulator; if (mTracker.mouseDown()) { + if (demod == NULL) { + return; + } if (dragState == WF_DRAG_BANDWIDTH_LEFT || dragState == WF_DRAG_BANDWIDTH_RIGHT) { int bwDiff = (int) (mTracker.getDeltaMouseX() * (float)SRATE) * 2; @@ -318,11 +321,15 @@ void WaterfallCanvas::mouseReleased(wxMouseEvent& event) { if (mTracker.getOriginDeltaMouseX() == 0 && mTracker.getOriginDeltaMouseY() == 0 && dragState == WF_DRAG_NONE) { + if (activeDemodulator == NULL) { + return; + } + float pos = mTracker.getMouseX(); int center_freq = wxGetApp().getFrequency(); - DemodulatorInstance *demod = wxGetApp().getDemodTest(); + DemodulatorInstance *demod = activeDemodulator; int freq = center_freq - (int) (0.5 * (float) SRATE) + (int) ((float) pos * (float) SRATE);