Skip to content

Commit f54902f

Browse files
committed
Add self.socket accessor
Add sip.isdeleted() check for preventing "RuntimeError: wrapped C/C++ object of type QLocalSocket has been deleted"
1 parent 3d215d1 commit f54902f

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

pybpodapi/bpod/emulator/emulator.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
from .state import State
1717
from AnyQt import QtCore
1818
from AnyQt import QtNetwork
19+
from PyQt5 import sip
1920
from pybpodapi.bpod_modules.bpod_modules import BpodModules
2021

2122
logger = logging.getLogger(__name__)
@@ -76,7 +77,13 @@ def __init__(self, hardware):
7677
self._init_hardware(hardware)
7778
self._state = State(self.hardware)
7879
self._manual_override_events = queue.Queue()
79-
self.socket = QtNetwork.QLocalSocket()
80+
self._socket = None
81+
82+
@property
83+
def socket(self):
84+
if self._socket is None or sip.isdeleted(self._socket):
85+
self._socket = QtNetwork.QLocalSocket()
86+
return self._socket
8087

8188
@property
8289
def hardware(self):

0 commit comments

Comments
 (0)