diff -r dec885ba1f2b -r b2609a8e4cb6 editors/Viewer.py --- a/editors/Viewer.py Thu Sep 13 02:13:40 2012 +0200 +++ b/editors/Viewer.py Thu Sep 13 02:15:29 2012 +0200 @@ -1236,9 +1236,17 @@ else: self.AddBlock(element) connectors = element.GetConnectors() + element.SetPosition(instance["x"], instance["y"]) if isinstance(element, SFC_Divergence): - element.SetPosition(instance["x"], instance["y"]) element.SetSize(instance["width"], instance["height"]) + for i, output_connector in enumerate(instance["outputs"]): + if i < len(connectors["outputs"]): + connector = connectors["outputs"][i] + if output_connector.get("negated", False): + connector.SetNegated(True) + if output_connector.get("edge", "none") != "none": + connector.SetEdge(output_connector["edge"]) + connector.SetPosition(wx.Point(*output_connector["position"])) for i, input_connector in enumerate(instance["inputs"]): if i < len(connectors["inputs"]): connector = connectors["inputs"][i] @@ -1248,16 +1256,7 @@ if input_connector.get("edge", "none") != "none": connector.SetEdge(input_connector["edge"]) self.CreateWires(connector, instance["id"], input_connector["links"], ids, selection) - for i, output_connector in enumerate(instance["outputs"]): - if i < len(connectors["outputs"]): - connector = connectors["outputs"][i] - if output_connector.get("negated", False): - connector.SetNegated(True) - if output_connector.get("edge", "none") != "none": - connector.SetEdge(output_connector["edge"]) - connector.SetPosition(wx.Point(*output_connector["position"])) if not isinstance(element, SFC_Divergence): - element.SetPosition(instance["x"], instance["y"]) element.SetSize(instance["width"], instance["height"]) if selection is not None and selection[0].get(instance["id"], False): self.SelectInGroup(element)