소스 검색

fix: rename sockets fails for property changes

this is because of the simple assumption that it actually renames
the sockets, but sometimes it just changes socket type or multi input
and in the future, who knows what else?
Joseph Brandenburg 3 달 전
부모
커밋
f49a70b873
1개의 변경된 파일2개의 추가작업 그리고 3개의 파일을 삭제
  1. 2 3
      __init__.py

+ 2 - 3
__init__.py

@@ -314,9 +314,8 @@ def do_version_update(node_tree):
                 s = n.inputs.new(new_bl_idname, new_name, identifier=new_name, use_multi_input=multi)
                 n.inputs.move(len(n.inputs)-1, socket_index)
                 socket_map = socket_maps[0]
-
-            socket_map[new_name] = socket_map[old_id]; del socket_map[old_id]
-
+            socket_map[new_name] = socket_map[old_id]
+            if new_name != old_id: del socket_map[old_id] # sometimes rename just changes the socket type or multi
             do_relink(n, s, socket_map)
         for bl_idname, task in versioning_node_tasks:
             if n.bl_idname in bl_idname: task(n)