From a141e9bfe7db0522324baffa50d165ed7e3d88f9 Mon Sep 17 00:00:00 2001 From: Swann Date: Sun, 23 Feb 2020 14:08:45 +0100 Subject: [PATCH] feat: stash on deps graph update --- multi_user/libs/replication | 2 +- multi_user/operators.py | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/multi_user/libs/replication b/multi_user/libs/replication index 19d018e..343c9d5 160000 --- a/multi_user/libs/replication +++ b/multi_user/libs/replication @@ -1 +1 @@ -Subproject commit 19d018e31b050a5a223f05910a7948645d9f0fdb +Subproject commit 343c9d527c225e2573ed6add92f6f7d0e8ac9082 diff --git a/multi_user/operators.py b/multi_user/operators.py index 72485ab..0000364 100644 --- a/multi_user/operators.py +++ b/multi_user/operators.py @@ -493,19 +493,21 @@ def depsgraph_evaluation(scene): # - if its ours or ( under common and diff), launch the # update process # - if its to someone else, ignore the update (go deeper ?) - if node.owner == session_infos.username: + if node.owner in [session_infos.username]: # Avoid slow geometry update if 'EDIT' in context.mode: break - logger.error("UPDATE: MODIFIFY {}".format(type(update.id))) - # client.commit(node.uuid) - # client.push(node.uuid) + client.stash(node.uuid) + # TODO: Do this from replication api...Maybe as a task ! + if node.owner == 'COMMON': + if node.diff(): + client.stash(node.uuid) else: # Distant update continue # else: # # New items ! - # logger.error("UPDATE: ADD")C.obj + # logger.error("UPDATE: ADD") def register(): @@ -520,7 +522,7 @@ def register(): bpy.app.handlers.frame_change_pre.append(update_client_frame) - # bpy.app.handlers.depsgraph_update_post.append(depsgraph_evaluation) + bpy.app.handlers.depsgraph_update_post.append(depsgraph_evaluation) def unregister(): @@ -541,7 +543,7 @@ def unregister(): bpy.app.handlers.frame_change_pre.remove(update_client_frame) - # bpy.app.handlers.depsgraph_update_post.remove(depsgraph_evaluation) + bpy.app.handlers.depsgraph_update_post.remove(depsgraph_evaluation) if __name__ == "__main__":