Fix set_freq to not call get_freq if get_freq is not available

Correct cache setting for set_freq
https://github.com/Hamlib/Hamlib/issues/485
pull/494/head
Michael Black W9MDB 2021-01-02 15:22:01 -06:00
rodzic 9726e07db6
commit 92c6d98e8e
1 zmienionych plików z 9 dodań i 9 usunięć

Wyświetl plik

@ -1481,7 +1481,7 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
}
}
if (retcode == RIG_OK)
if (retcode == RIG_OK && caps->get_freq != NULL)
{
freq_t freq_new = freq;
@ -1510,15 +1510,15 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
freq_new);
}
// update our current freq too
if (vfo == RIG_VFO_CURR || vfo == rig->state.current_vfo) { rig->state.current_freq = freq_new; }
elapsed_ms(&rig->state.cache.time_ptt, HAMLIB_ELAPSED_SET);
rig->state.cache.freq = freq_new;
//future 4.1 caching
set_cache_freq(rig, vfo, freq_new);
rig->state.cache.vfo_freq = vfo;
}
// update our current freq too
if (vfo == RIG_VFO_CURR || vfo == rig->state.current_vfo) { rig->state.current_freq = freq_new; }
elapsed_ms(&(rig->state.cache.time_freq), HAMLIB_ELAPSED_SET);
rig->state.cache.freq = freq_new;
//future 4.1 caching
set_cache_freq(rig, vfo, freq_new);
rig->state.cache.vfo_freq = vfo;
return retcode;
}