Skip to content

Commit 28d0a67

Browse files
committed
Fix edgepins not syncing associated node box updates to the server.
1 parent 94b07fb commit 28d0a67

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

lib/src/api/node_processor.dart

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,6 @@ extension BaseNodeUpdateExtension on BaseNode {
111111
bool resetRetainedBox = true,
112112
bool recursivelyCalculateChildrenGlobalBoxes = true,
113113
Vec? globalParentBoundingBoxPos,
114-
bool forceUpdateEdgePins = false,
115114
bool updatingSortedNodeList = false,
116115
}) =>
117116
NodeProcessor.updateNode(
@@ -128,7 +127,6 @@ extension BaseNodeUpdateExtension on BaseNode {
128127
recursivelyCalculateChildrenGlobalBoxes:
129128
recursivelyCalculateChildrenGlobalBoxes,
130129
globalParentBoundingBoxPos: globalParentBoundingBoxPos,
131-
forceUpdateEdgePins: forceUpdateEdgePins,
132130
updatingSortedNodeList: updatingSortedNodeList,
133131
);
134132

@@ -307,16 +305,21 @@ class NodeProcessor {
307305
///
308306
/// If [recursivelyCalculateChildrenGlobalBoxes] is true, all of the node's
309307
/// children are updated recursively. If it is set to false, only the node is
310-
/// updated. This parameter is used during nodes initialization. Since all the
308+
/// updated. This parameter is used during node initialization, since all the
311309
/// nodes are being laid out, there's no need for recursive updates.
312310
///
313-
/// if [updatingSortedNodeList] is true, then you are currently updating a
314-
/// list of nodes one-by-one order from parent to child order. If this is
311+
/// If [updatingSortedNodeList] is true, then you are currently updating a
312+
/// list of nodes one-by-one from parent to child order. If this is
315313
/// the case, then we can make important assumptions that can help optimize
316314
/// and avoid recursive computation.
317315
///
318316
/// [resolvedConstraints] overrides [node.resolvedConstraints] while being
319-
/// still affected by user given constraints.
317+
/// still affected by user-given constraints.
318+
///
319+
/// [EdgePins] are updated if this function is triggered manually, without
320+
/// the layout system. If the layout system triggers this function, edge pins
321+
/// are not updated because there were used BY the layout system to figure out
322+
/// the rest of the values (outer box global, middle box global, etc...).
320323
static void updateNode({
321324
required BaseNode node,
322325
EdgeInsetsModel? margin,
@@ -331,7 +334,6 @@ class NodeProcessor {
331334
bool resetRetainedBox = true,
332335
bool recursivelyCalculateChildrenGlobalBoxes = true,
333336
Vec? globalParentBoundingBoxPos,
334-
bool forceUpdateEdgePins = false,
335337
bool updatingSortedNodeList = false,
336338
}) {
337339
final bool marginChanged = margin != null && margin != node.margin;
@@ -394,7 +396,7 @@ class NodeProcessor {
394396
node._retainedOuterBoxLocal = node.outerBoxLocal.copyWith();
395397
}
396398

397-
if (node.id != kRootNode && (forceUpdateEdgePins || !performLayoutRan)) {
399+
if (node.id != kRootNode && !performLayoutRan) {
398400
final BaseNode parentNode = getNode(node.parentID);
399401

400402
node.edgePins = node.edgePins.copyWithLeft(

0 commit comments

Comments
 (0)