From f9883442221f548a39033565035626464c9d08aa Mon Sep 17 00:00:00 2001 From: Denny Sheirer Date: Tue, 26 Apr 2022 04:02:36 -0400 Subject: [PATCH] #1219 resolves issues with NPE and restarting an error tuner. (#1220) Co-authored-by: Dennis Sheirer --- .../source/tuner/rtl/RTL2832TunerController.java | 9 +++++++-- .../io/github/dsheirer/source/tuner/ui/TunerEditor.java | 5 +++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/io/github/dsheirer/source/tuner/rtl/RTL2832TunerController.java b/src/main/java/io/github/dsheirer/source/tuner/rtl/RTL2832TunerController.java index 426d568c..46b57569 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/rtl/RTL2832TunerController.java +++ b/src/main/java/io/github/dsheirer/source/tuner/rtl/RTL2832TunerController.java @@ -251,7 +251,7 @@ public class RTL2832TunerController extends USBTunerController } catch(UsbException ue) { - throw new SourceException("Unable to initialize " + getEmbeddedTuner().getTunerType(), ue); + throw new SourceException("Unable to initialize " + tunerType, ue); } setMinimumFrequency(mEmbeddedTuner.getMinimumFrequencySupported()); @@ -366,7 +366,12 @@ public class RTL2832TunerController extends USBTunerController */ public TunerType getTunerType() { - return getEmbeddedTuner().getTunerType(); + if(getEmbeddedTuner() != null) + { + return getEmbeddedTuner().getTunerType(); + } + + return TunerType.UNKNOWN; } /** diff --git a/src/main/java/io/github/dsheirer/source/tuner/ui/TunerEditor.java b/src/main/java/io/github/dsheirer/source/tuner/ui/TunerEditor.java index e7e8a079..118c69e6 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/ui/TunerEditor.java +++ b/src/main/java/io/github/dsheirer/source/tuner/ui/TunerEditor.java @@ -33,6 +33,7 @@ import io.github.dsheirer.source.tuner.manager.IDiscoveredTunerStatusListener; import io.github.dsheirer.source.tuner.manager.TunerManager; import io.github.dsheirer.source.tuner.manager.TunerStatus; import io.github.dsheirer.util.SwingUtils; +import io.github.dsheirer.util.ThreadPool; import net.miginfocom.swing.MigLayout; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -370,11 +371,11 @@ public abstract class TunerEditor { if(!hasTuner() && getDiscoveredTuner().getTunerStatus() == TunerStatus.ERROR) { - mLog.info("Resetting " + getDiscoveredTuner().getTunerClass() + " tuner"); + mLog.info("Restarting " + getDiscoveredTuner().getTunerClass() + " tuner"); getDiscoveredTuner().reset(); if(getDiscoveredTuner().isEnabled()) { - getDiscoveredTuner().start(); + ThreadPool.CACHED.submit(() -> getDiscoveredTuner().start()); } } });