Skip to content

Commit

Permalink
fix: 🐛Fixed null check issue in 'RenderBox' at'layout_overlay.dart(#…
Browse files Browse the repository at this point in the history
  • Loading branch information
Sahil-Simform committed Nov 25, 2024
1 parent dcb55ef commit 74483d4
Showing 1 changed file with 25 additions and 17 deletions.
42 changes: 25 additions & 17 deletions lib/src/layout_overlays.dart
Original file line number Diff line number Diff line change
Expand Up @@ -65,22 +65,26 @@ class AnchoredOverlay extends StatelessWidget {
overlayBuilder: (overlayContext) {
// To calculate the "anchor" point we grab the render box of
// our parent Container and then we find the center of that box.
final box = context.findRenderObject() as RenderBox;

final topLeft = box.size.topLeft(
box.localToGlobal(
const Offset(0.0, 0.0),
ancestor: rootRenderObject,
),
);
final bottomRight = box.size.bottomRight(
box.localToGlobal(
const Offset(0.0, 0.0),
ancestor: rootRenderObject,
),
);
Rect anchorBounds;
anchorBounds = (topLeft.dx.isNaN ||
final box = context.findRenderObject() as RenderBox?;

// Handle null RenderBox safely.
final topLeft = box?.size.topLeft(
box.localToGlobal(
const Offset(0.0, 0.0),
ancestor: rootRenderObject,
),
) ??
const Offset(0, 0);
final bottomRight = box?.size.bottomRight(
box.localToGlobal(
Offset.zero,
ancestor: rootRenderObject,
),
) ??
Offset.zero;

// Provide a default anchorBounds if box is null.
Rect anchorBounds = (topLeft.dx.isNaN ||
topLeft.dy.isNaN ||
bottomRight.dx.isNaN ||
bottomRight.dy.isNaN)
Expand All @@ -91,7 +95,11 @@ class AnchoredOverlay extends StatelessWidget {
bottomRight.dx,
bottomRight.dy,
);
final anchorCenter = box.size.center(topLeft);

// Calculate the anchor center or default to Offset.zero.
final anchorCenter = box?.size.center(topLeft) ?? Offset.zero;

// Pass the anchor details to the overlay builder.
return overlayBuilder!(overlayContext, anchorBounds, anchorCenter);
},
child: child,
Expand Down

0 comments on commit 74483d4

Please sign in to comment.