dropChild method

  1. @mustCallSuper
  2. @protected
void dropChild(
  1. RenderObject child
)

Called by subclasses when they decide a render object is no longer a child.

Only for use by subclasses when changing their child lists. Calling this in other cases will lead to an inconsistent tree and probably cause crashes.

Implementation

@mustCallSuper
@protected
void dropChild(RenderObject child) {
  assert(child._parent == this);
  assert(child.attached == attached);
  assert(child.parentData != null);
  child._cleanRelayoutBoundary();
  child.parentData!.detach();
  child.parentData = null;
  child._parent = null;
  if (attached) {
    child.detach();
  }
  markNeedsLayout();
  markNeedsCompositingBitsUpdate();
  markNeedsSemanticsUpdate();
}