From 26516f2f0df6ed29be8c94f70247b9d0d6748042 Mon Sep 17 00:00:00 2001 From: Lars Op den Kamp Date: Thu, 22 Mar 2012 14:55:25 +0100 Subject: [PATCH] cec: don't return from the Close() method in CUSBCECAdapterCommunication, because then it libCEC will try to delete it while it's still being used. --- src/lib/adapter/USBCECAdapterCommunication.cpp | 7 +------ src/lib/adapter/USBCECAdapterCommunication.h | 2 +- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/lib/adapter/USBCECAdapterCommunication.cpp b/src/lib/adapter/USBCECAdapterCommunication.cpp index e092274..c97d995 100644 --- a/src/lib/adapter/USBCECAdapterCommunication.cpp +++ b/src/lib/adapter/USBCECAdapterCommunication.cpp @@ -77,11 +77,6 @@ CUSBCECAdapterCommunication::CUSBCECAdapterCommunication(CCECProcessor *processo m_port = new CSerialPort(strPort, iBaudRate); } -CUSBCECAdapterCommunication::~CUSBCECAdapterCommunication(void) -{ - Close(); -} - bool CUSBCECAdapterCommunication::CheckAdapter(uint32_t iTimeoutMs /* = 10000 */) { bool bReturn(false); @@ -225,7 +220,7 @@ bool CUSBCECAdapterCommunication::Open(IAdapterCommunicationCallback *cb, uint32 void CUSBCECAdapterCommunication::Close(void) { - StopThread(); + StopThread(0); } void *CUSBCECAdapterCommunication::Process(void) diff --git a/src/lib/adapter/USBCECAdapterCommunication.h b/src/lib/adapter/USBCECAdapterCommunication.h index bedd270..5db5a1a 100644 --- a/src/lib/adapter/USBCECAdapterCommunication.h +++ b/src/lib/adapter/USBCECAdapterCommunication.h @@ -67,7 +67,7 @@ namespace CEC { public: CUSBCECAdapterCommunication(CCECProcessor *processor, const char *strPort, uint16_t iBaudRate = 38400); - virtual ~CUSBCECAdapterCommunication(); + virtual ~CUSBCECAdapterCommunication() {}; virtual bool Open(IAdapterCommunicationCallback *cb, uint32_t iTimeoutMs = 10000, bool bSkipChecks = false); virtual void Close(void); -- 2.34.1