diff --git a/src/dialogs/fl_digi.cxx b/src/dialogs/fl_digi.cxx index 22d97504..84bf27ad 100644 --- a/src/dialogs/fl_digi.cxx +++ b/src/dialogs/fl_digi.cxx @@ -2487,6 +2487,15 @@ void cb_btnClearMViewer(Fl_Widget *w, void *d) int default_handler(int event) { + if (event != FL_SHORTCUT) + return 0; + + if (RigViewerFrame && Fl::event_key() == FL_Escape && + RigViewerFrame->visible() && Fl::event_inside(RigViewerFrame)) { + CloseQsoView(); + return 1; + } + Fl_Widget* w = Fl::focus(); if (w == fl_digi_main || w->window() == fl_digi_main) { @@ -2519,15 +2528,11 @@ int default_handler(int event) return 1; } } - - if (w == dlgLogbook || w->window() == dlgLogbook) + else if (w == dlgLogbook || w->window() == dlgLogbook) return log_search_handler(event); - if (RigViewerFrame && Fl::event_key() == FL_Escape && - RigViewerFrame->visible() && Fl::event_inside(RigViewerFrame)) { - CloseQsoView(); + else if (Fl::event_key() == FL_Escape) return 1; - } return 0; }