MorseKOB / PyKOB

Python implementation of a library for Morse and MorseKOB functionality
https://sites.google.com/site/morsekob/morsekob40
MIT License
4 stars 2 forks source link

Quitting with Cmd-Q occasionally triggers exception in Keyboard-Send? #248

Closed pwdirks closed 5 months ago

pwdirks commented 3 years ago

Twice now when I've started MKOB and quit (sometimes after a while, once quickly after starting), I hit an exception in Keyboard-Send:

$ python3 MKOB.pyw ... [ user quits with Cmd-Q ] Exception in thread Keyboard-Send: Traceback (most recent call last): File "/usr/local/Cellar/python@3.9/3.9.1_6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/threading.py", line 954, in _bootstrap_inner

another instance:

$ python3 MKOB.pyw PyKOB 1.2.15 MorseKOB 4.0.16 Tcl/Tk 8.6/8.6 2021-01-19 22:44:08 INFO: Record to 'Session-20210119-2244.json' pdirks-a01:PyKOB pdirks$ python3 MKOB.pyw [ user quits with Cmd-Q ] Exception in thread Keyboard-Send: Traceback (most recent call last): File "/usr/local/Cellar/python@3.9/3.9.1_6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/threading.py", line 954, in _bootstrap_inner self.run() File "/usr/local/Cellar/python@3.9/3.9.1_6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/threading.py", line 892, in run self._target(*self._args, **self._kwargs) File "/Users/pdirks/Documents/Projects/Morse/MorseKOB/PyKOB/kobkeyboard.py", line 49, in keyboard_send if kw.txtKeyboard.compare('mark', '==', 'end-1c') and \ File "/usr/local/Cellar/python@3.9/3.9.1_6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/tkinter/init.py", line 3566, in compare return self.tk.getboolean(self.tk.call( _tkinter.TclError: invalid command name ".!panedwindow.!panedwindow.!frame2.!frame.!scrolledtext"

AESilky commented 5 months ago

Shutdown of all classes was reworked to assure consistent resource close/release and orderly shutdown. Setting the logging level to '3' shows the shutdown and exit steps as the MKOB app closes.

pykob version 1.3.4 MKOB version 4.3.1 MRT version 1.3.4