fix: Python.exe sometimes dont shut down in task manager processes

fix: disconnect attempt when the session is not running

Related to slumber/multi-user#94
This commit is contained in:
Swann
2020-07-07 10:58:34 +02:00
parent e2cdd26b7c
commit 25f3e27b7f
3 changed files with 16 additions and 14 deletions

View File

@ -47,7 +47,8 @@ from . import environment, utils
DEPENDENCIES = {
("zmq","zmq"),
("jsondiff","jsondiff"),
("deepdiff", "deepdiff")
("deepdiff", "deepdiff"),
("psutil","psutil")
}

View File

@ -219,9 +219,9 @@ class SessionInitOperator(bpy.types.Operator):
client.init()
return {"FINISHED"}
class SessionStopOperator(bpy.types.Operator):
bl_idname = "session.stop"
bl_label = "close"
@ -234,12 +234,15 @@ class SessionStopOperator(bpy.types.Operator):
def execute(self, context):
global client, delayables, stop_modal_executor
assert(client)
if client:
try:
client.disconnect()
except Exception as e:
self.report({'ERROR'}, repr(e))
else:
self.report({'WARNING'}, "No session to quit.")
return {"FINISHED"}
return {"FINISHED"}
@ -558,6 +561,7 @@ classes = (
)
@persistent
def sanitize_deps_graph(dummy):
"""sanitize deps graph
@ -594,7 +598,6 @@ def register():
for cls in classes:
register_class(cls)
bpy.app.handlers.undo_post.append(sanitize_deps_graph)
bpy.app.handlers.redo_post.append(sanitize_deps_graph)
@ -602,7 +605,6 @@ def register():
bpy.app.handlers.frame_change_pre.append(update_client_frame)
def unregister():
global client
@ -617,7 +619,6 @@ def unregister():
bpy.app.handlers.undo_post.remove(sanitize_deps_graph)
bpy.app.handlers.redo_post.remove(sanitize_deps_graph)
bpy.app.handlers.load_pre.remove(load_pre_handler)
bpy.app.handlers.frame_change_pre.remove(update_client_frame)