diff --git a/src/AppFrame.cpp b/src/AppFrame.cpp index 5e296b4..bc298ae 100644 --- a/src/AppFrame.cpp +++ b/src/AppFrame.cpp @@ -517,7 +517,9 @@ void AppFrame::OnIdle(wxIdleEvent& event) { } if (wxGetApp().getFrequency() != waterfallCanvas->getCenterFrequency()) { - spectrumCanvas->setCenterFrequency(wxGetApp().getFrequency()); + if (!spectrumCanvas->getMouseTracker()->mouseDown()) { + spectrumCanvas->setCenterFrequency(wxGetApp().getFrequency()); + } waterfallCanvas->setCenterFrequency(wxGetApp().getFrequency()); demodWaterfallCanvas->setCenterFrequency(wxGetApp().getFrequency()); demodSpectrumCanvas->setCenterFrequency(wxGetApp().getFrequency()); diff --git a/src/visual/InteractiveCanvas.cpp b/src/visual/InteractiveCanvas.cpp index 226d8f5..cdd5903 100644 --- a/src/visual/InteractiveCanvas.cpp +++ b/src/visual/InteractiveCanvas.cpp @@ -73,6 +73,10 @@ unsigned int InteractiveCanvas::getBandwidth() { } } +MouseTracker *InteractiveCanvas::getMouseTracker() { + return &mouseTracker; +} + void InteractiveCanvas::OnKeyUp(wxKeyEvent& event) { shiftDown = event.ShiftDown(); altDown = event.AltDown(); diff --git a/src/visual/InteractiveCanvas.h b/src/visual/InteractiveCanvas.h index 6699d49..cb94a4f 100644 --- a/src/visual/InteractiveCanvas.h +++ b/src/visual/InteractiveCanvas.h @@ -22,6 +22,8 @@ public: void setBandwidth(unsigned int bandwidth_in); unsigned int getBandwidth(); + MouseTracker *getMouseTracker(); + protected: void OnKeyDown(wxKeyEvent& event); void OnKeyUp(wxKeyEvent& event);