If the receiver disappears, we'll stop tracking, but won't pull the
frequency menu down. Doing that would take a bit of work, and it
doesn't seem worth the effort. As a kludge-around, avoid re-creating
the frequency menu if it's already displayed when we connect to
another device.
Signed-off-by: Keith Packard <keithp@keithp.com>
void add_frequency_menu(int serial, final AltosFlightReader reader) {
// Channel menu
void add_frequency_menu(int serial, final AltosFlightReader reader) {
// Channel menu
+ if (frequencies != null)
+ return;
+
frequencies = new AltosFreqList(AltosUIPreferences.frequency(serial));
frequencies.set_product("Monitor");
frequencies.set_serial(serial);
frequencies = new AltosFreqList(AltosUIPreferences.frequency(serial));
frequencies.set_product("Monitor");
frequencies.set_serial(serial);
void remove_frequency_menu() {
if (frequencies != null) {
menu_bar.remove(frequencies);
void remove_frequency_menu() {
if (frequencies != null) {
menu_bar.remove(frequencies);