feat: error handling during disconnection
fix: various session disctonnect error (replication submodule)
This commit is contained in:
Submodule multi_user/libs/replication updated: 0f2ae759a7...90fdb447f3
@ -159,23 +159,24 @@ class SessionStopOperator(bpy.types.Operator):
|
|||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
global client, delayables, stop_modal_executor, server_process
|
global client, delayables, stop_modal_executor, server_process
|
||||||
|
assert(client)
|
||||||
if server_process:
|
|
||||||
server_process.kill()
|
|
||||||
|
|
||||||
stop_modal_executor = True
|
stop_modal_executor = True
|
||||||
settings = context.window_manager.session
|
settings = context.window_manager.session
|
||||||
settings.is_admin = False
|
settings.is_admin = False
|
||||||
assert(client)
|
|
||||||
|
|
||||||
client.disconnect()
|
|
||||||
|
|
||||||
for d in delayables:
|
for d in delayables:
|
||||||
try:
|
try:
|
||||||
d.unregister()
|
d.unregister()
|
||||||
except:
|
except:
|
||||||
continue
|
continue
|
||||||
presence.renderer.stop()
|
presence.renderer.stop()
|
||||||
|
|
||||||
|
try:
|
||||||
|
client.disconnect()
|
||||||
|
except Exception as e:
|
||||||
|
self.report({'ERROR'}, repr(e))
|
||||||
|
|
||||||
|
client = None
|
||||||
|
|
||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user