@@ -2694,6 +2694,9 @@ class App(QtCore.QObject):
|
||||
from flatcamGUI.PlotCanvasLegacy import ShapeCollectionLegacy
|
||||
self.tool_shapes = ShapeCollectionLegacy(obj=self, app=self, name="tool")
|
||||
|
||||
# used in the delayed shutdown self.start_delayed_quit() method
|
||||
self.save_timer = None
|
||||
|
||||
# ###############################################################################
|
||||
# ################# ADDING FlatCAM EDITORS section ##############################
|
||||
# ###############################################################################
|
||||
@@ -5213,6 +5216,20 @@ class App(QtCore.QObject):
|
||||
del stgs
|
||||
|
||||
log.debug("App.final_save() --> App UI state saved.")
|
||||
|
||||
# try to quit the QThread that run ArgsThread class
|
||||
try:
|
||||
self.th.quit()
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
# try to quit the Socket opened by ArgsThread class
|
||||
try:
|
||||
self.new_launch.listener.close()
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
# quit app by signalling for self.kill_app() method
|
||||
self.close_app_signal.emit()
|
||||
|
||||
def kill_app(self):
|
||||
@@ -12653,13 +12670,15 @@ class ArgsThread(QtCore.QObject):
|
||||
|
||||
def __init__(self):
|
||||
super(ArgsThread, self).__init__()
|
||||
self.listener = None
|
||||
|
||||
self.start.connect(self.run)
|
||||
|
||||
def my_loop(self, address):
|
||||
try:
|
||||
listener = Listener(*address)
|
||||
self.listener = Listener(*address)
|
||||
while True:
|
||||
conn = listener.accept()
|
||||
conn = self.listener.accept()
|
||||
self.serve(conn)
|
||||
except socket.error:
|
||||
conn = Client(*address)
|
||||
@@ -12667,6 +12686,10 @@ class ArgsThread(QtCore.QObject):
|
||||
conn.send('close')
|
||||
# close the current instance only if there are args
|
||||
if len(sys.argv) > 1:
|
||||
try:
|
||||
self.listener.close()
|
||||
except Exception:
|
||||
pass
|
||||
sys.exit()
|
||||
|
||||
def serve(self, conn):
|
||||
|
||||
Reference in New Issue
Block a user