From 509cd1c05a7eb4c42360272e4a2a332e7785bd3b Mon Sep 17 00:00:00 2001 From: Gianluca Bettega <57464965+Macacoazul01@users.noreply.github.com> Date: Sat, 19 Jul 2025 10:36:25 -0300 Subject: [PATCH] autoScrollingDelta fix --- .../lib/src/charts/axis/axis.dart | 48 ++++++++++--------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/packages/syncfusion_flutter_charts/lib/src/charts/axis/axis.dart b/packages/syncfusion_flutter_charts/lib/src/charts/axis/axis.dart index 8773f4e5..2770081c 100644 --- a/packages/syncfusion_flutter_charts/lib/src/charts/axis/axis.dart +++ b/packages/syncfusion_flutter_charts/lib/src/charts/axis/axis.dart @@ -2084,17 +2084,19 @@ abstract class RenderChartAxis extends RenderBox with ChartAreaUpdateMixin { if (autoScrollingDelta != null && autoScrollingDelta! > 0 && !zoomingInProgress) { - final DoubleRange autoScrollRange = updateAutoScrollingDelta( - autoScrollingDelta!, - newActualRange, - newVisibleRange, - ); - if ((autoScrollingMode == AutoScrollingMode.end && - newActualRange.minimum < autoScrollRange.minimum) || - (autoScrollingMode == AutoScrollingMode.start && - newActualRange.maximum > autoScrollRange.maximum)) { - newVisibleRange = autoScrollRange; - } + WidgetsBinding.instance.addPostFrameCallback((_) { + final DoubleRange autoScrollRange = updateAutoScrollingDelta( + autoScrollingDelta!, + newActualRange, + newVisibleRange, + ); + if ((autoScrollingMode == AutoScrollingMode.end && + newActualRange.minimum < autoScrollRange.minimum) || + (autoScrollingMode == AutoScrollingMode.start && + newActualRange.maximum > autoScrollRange.maximum)) { + newVisibleRange = autoScrollRange; + } + }); } } @@ -2150,17 +2152,19 @@ abstract class RenderChartAxis extends RenderBox with ChartAreaUpdateMixin { if (autoScrollingDelta != null && autoScrollingDelta! > 0 && !zoomingInProgress) { - final DoubleRange autoScrollRange = updateAutoScrollingDelta( - autoScrollingDelta!, - newActualRange, - newVisibleRange, - ); - if ((autoScrollingMode == AutoScrollingMode.end && - newActualRange.minimum < autoScrollRange.minimum) || - (autoScrollingMode == AutoScrollingMode.start && - newActualRange.maximum > autoScrollRange.maximum)) { - newVisibleRange = autoScrollRange; - } + WidgetsBinding.instance.addPostFrameCallback((_) { + final DoubleRange autoScrollRange = updateAutoScrollingDelta( + autoScrollingDelta!, + newActualRange, + newVisibleRange, + ); + if ((autoScrollingMode == AutoScrollingMode.end && + newActualRange.minimum < autoScrollRange.minimum) || + (autoScrollingMode == AutoScrollingMode.start && + newActualRange.maximum > autoScrollRange.maximum)) { + newVisibleRange = autoScrollRange; + } + }); } newVisibleInterval = calculateVisibleInterval( newVisibleRange,