File tree Expand file tree Collapse file tree 1 file changed +6
-0
lines changed
Expand file tree Collapse file tree 1 file changed +6
-0
lines changed Original file line number Diff line number Diff line change @@ -247,6 +247,10 @@ App::App(const Options& opts) : options_(opts), sim_ui_visible_(opts.enable_sim)
247247 config_ = presets::balanced ();
248248 ultra::gui::startupTrace (" App" , " presets-balanced-exit" );
249249
250+ // Run modem decode synchronously in GUI thread to avoid startup-time
251+ // worker-thread races on fragile Windows systems.
252+ modem_.setSynchronousMode (true );
253+
250254 if (!options_.disable_waterfall ) {
251255 ultra::gui::startupTrace (" App" , " waterfall-create-begin" );
252256 waterfall_ = std::make_unique<WaterfallWidget>();
@@ -856,6 +860,7 @@ void App::initVirtualStation() {
856860
857861 // Create virtual station's modem
858862 virtual_modem_ = std::make_unique<ModemEngine>();
863+ virtual_modem_->setSynchronousMode (true );
859864
860865 // Set up virtual station's protocol
861866 virtual_protocol_.setLocalCallsign (virtual_callsign_);
@@ -1753,6 +1758,7 @@ void App::pollRadioRx() {
17531758 }
17541759
17551760 modem_.feedAudio (samples);
1761+ modem_.processRxBuffer ();
17561762 if (waterfall_) {
17571763 waterfall_->addSamples (samples.data (), samples.size ());
17581764 }
You can’t perform that action at this time.
0 commit comments