Skip to content

Commit

Permalink
Fix contexts in alignment
Browse files Browse the repository at this point in the history
  • Loading branch information
CodeDoctorDE committed Oct 26, 2024
1 parent fb0c337 commit 7e72146
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions packages/material_leap/lib/src/widgets/menu.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ extension MenuControllerToggleExtension on MenuController {
isOpen ? close() : open(position: position);
}

Widget _offsetCalculator(
Widget offsetCalculator(
BuildContext context,
Widget Function(Offset? Function() offset) builder, {
bool calculateLocalOffset = true,
Expand All @@ -18,10 +18,11 @@ Widget _offsetCalculator(
return Builder(builder: (currentContext) {
return builder(() {
final RenderBox renderBox = context.findRenderObject() as RenderBox;
final currentRender = currentContext.findRenderObject();
final offset = renderBox.globalToLocal(Offset.zero,
ancestor: currentContext.findRenderObject());
if (alignment != null) {
final size = renderBox.size;
if (alignment != null && currentRender is RenderBox) {
final size = currentRender.size;
final alignmentOffset = alignment.resolve(Directionality.of(context));
return offset + alignmentOffset.alongSize(size);
} else {
Expand All @@ -41,7 +42,7 @@ MenuAnchorChildBuilder defaultMenuButton({
bool calculateLocalOffset = false,
AlignmentGeometry? alignment = Alignment.topRight,
}) =>
(context, controller, child) => _offsetCalculator(
(context, controller, child) => offsetCalculator(
context,
(offset) => IconButton(
icon: iconBuilder?.call(context, controller, child) ??
Expand All @@ -67,7 +68,7 @@ MenuAnchorChildBuilder defaultFilledMenuButton({
bool calculateLocalOffset = false,
AlignmentGeometry? alignment = Alignment.topRight,
}) =>
(context, controller, child) => _offsetCalculator(
(context, controller, child) => offsetCalculator(
context,
(offset) => IconButton.filled(
icon: iconBuilder?.call(context, controller, child) ??
Expand All @@ -93,7 +94,7 @@ MenuAnchorChildBuilder defaultFilledTonalMenuButton({
bool calculateLocalOffset = false,
AlignmentGeometry? alignment = Alignment.topRight,
}) =>
(context, controller, child) => _offsetCalculator(
(context, controller, child) => offsetCalculator(
context,
(offset) => IconButton.filledTonal(
icon: iconBuilder?.call(context, controller, child) ??
Expand All @@ -119,7 +120,7 @@ MenuAnchorChildBuilder defaultOutlinedMenuButton({
bool calculateLocalOffset = false,
AlignmentGeometry? alignment = Alignment.topRight,
}) =>
(context, controller, child) => _offsetCalculator(
(context, controller, child) => offsetCalculator(
context,
(offset) => IconButton.outlined(
icon: iconBuilder?.call(context, controller, child) ??
Expand Down

0 comments on commit 7e72146

Please sign in to comment.