diff --git a/src/AppFrame.cpp b/src/AppFrame.cpp index 3057311..4995d41 100644 --- a/src/AppFrame.cpp +++ b/src/AppFrame.cpp @@ -1828,6 +1828,9 @@ int AppFrame::OnGlobalKeyDown(wxKeyEvent &event) { if (!this->IsActive()) { return -1; } + if (modemProps && (modemProps->HasFocus() || modemProps->isMouseInView())) { + return -1; + } DemodulatorInstance *demod = nullptr, *lastDemod = wxGetApp().getDemodMgr().getLastActiveDemodulator(); int snap = wxGetApp().getFrequencySnap(); @@ -1920,6 +1923,9 @@ int AppFrame::OnGlobalKeyUp(wxKeyEvent &event) { if (!this->IsActive()) { return -1; } + if (modemProps && (modemProps->HasFocus() || modemProps->isMouseInView())) { + return -1; + } DemodulatorInstance *lastDemod = wxGetApp().getDemodMgr().getLastActiveDemodulator(); diff --git a/src/ModemProperties.cpp b/src/ModemProperties.cpp index b1d8c4f..bd0901b 100644 --- a/src/ModemProperties.cpp +++ b/src/ModemProperties.cpp @@ -175,5 +175,5 @@ void ModemProperties::OnMouseLeave(wxMouseEvent & /* event */) { } bool ModemProperties::isMouseInView() { - return mouseInView; + return mouseInView || (m_propertyGrid && m_propertyGrid->IsEditorFocused()); }