# HG changeset patch # User Edouard Tisserant # Date 1587715420 -7200 # Node ID 76ebf973c47e45a18695efc01678345dbaac53c9 # Parent 69f395c01c09b34d7211f87858f50825db3d13d2# Parent 2a20038fbea90db93cee9665034f3ffdc56a24aa Merge diff -r 2a20038fbea9 -r 76ebf973c47e svghmi/svghmi.py --- a/svghmi/svghmi.py Wed Apr 22 15:33:53 2020 +0200 +++ b/svghmi/svghmi.py Fri Apr 24 10:03:40 2020 +0200 @@ -78,10 +78,15 @@ in_common +=1 else: break - if in_common > known_best_match: + # Match can only be HMI_NODE, and the whole path of node + # must match candidate node (except for name part) + # since candidate would become child of that node + if in_common > known_best_match and \ + child.nodetype == "HMI_NODE" and \ + in_common == len(child.path) - 1: known_best_match = in_common best_child = child - if best_child is not None and best_child.nodetype == "HMI_NODE": + if best_child is not None: best_child.place_node(node) else: self.children.append(node)