From e46f2047962ce2e78e49827d12909da0c1d3ec8b Mon Sep 17 00:00:00 2001 From: Robin Getz Date: Thu, 23 Jul 2026 21:31:43 -0400 Subject: [PATCH] PlutoSDR: keep device open state consistent after close Clear the m_open flag when closing PlutoSDR input and output devices. Previously closeDevice() released m_deviceParams but left m_open set, leaving the object in an inconsistent state where code could treat a closed device as still valid. This was exposed when reloading a running PlutoSDR device, where GUI updates could access the partially torn-down device state. Hopefully fixes #2833 (I don't have a windows machine to test). Signed-off-by: Robin Getz --- plugins/samplesink/plutosdroutput/plutosdroutput.cpp | 2 ++ plugins/samplesource/plutosdrinput/plutosdrinput.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/plugins/samplesink/plutosdroutput/plutosdroutput.cpp b/plugins/samplesink/plutosdroutput/plutosdroutput.cpp index fd264824b..93a6a5306 100644 --- a/plugins/samplesink/plutosdroutput/plutosdroutput.cpp +++ b/plugins/samplesink/plutosdroutput/plutosdroutput.cpp @@ -363,6 +363,8 @@ void PlutoSDROutput::closeDevice() delete m_deviceShared.m_deviceParams; m_deviceShared.m_deviceParams = 0; } + + m_open = false; } void PlutoSDROutput::suspendBuddies() diff --git a/plugins/samplesource/plutosdrinput/plutosdrinput.cpp b/plugins/samplesource/plutosdrinput/plutosdrinput.cpp index 7798786c9..21f7987c1 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinput.cpp +++ b/plugins/samplesource/plutosdrinput/plutosdrinput.cpp @@ -373,6 +373,8 @@ void PlutoSDRInput::closeDevice() delete m_deviceShared.m_deviceParams; m_deviceShared.m_deviceParams = 0; } + + m_open = false; } void PlutoSDRInput::suspendBuddies()