Skip to content

Commit fb0eeeb

Browse files
committed
fixing an issue with a changed api to mark a render object as dirty
1 parent ee87b7b commit fb0eeeb

File tree

4 files changed

+30
-4
lines changed

4 files changed

+30
-4
lines changed

packages/syncfusion_flutter_charts/lib/src/charts/cartesian_chart.dart

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1364,7 +1364,12 @@ class SfCartesianChartState extends State<SfCartesianChart>
13641364
if (renderObject != null &&
13651365
renderObject.attached &&
13661366
renderObject is RenderConstrainedLayoutBuilder) {
1367-
renderObject.markNeedsBuild();
1367+
try {
1368+
// try to use the old code
1369+
renderObject.markNeedsBuild();
1370+
} catch (e) {
1371+
renderObject.markNeedsPaint();
1372+
}
13681373
}
13691374
}
13701375
}

packages/syncfusion_flutter_charts/lib/src/charts/common/core_legend.dart

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,12 @@ class LegendLayoutState extends State<LegendLayout> {
449449
if (renderObject != null &&
450450
renderObject.attached &&
451451
renderObject is RenderConstrainedLayoutBuilder) {
452-
renderObject.markNeedsBuild();
452+
try {
453+
// try to use the old code
454+
renderObject.markNeedsBuild();
455+
} catch (e) {
456+
renderObject.markNeedsPaint();
457+
}
453458
}
454459
}
455460
}

packages/syncfusion_flutter_charts/lib/src/charts/common/core_tooltip.dart

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,13 @@ class CoreTooltipState extends State<CoreTooltip>
165165
if (renderObject != null &&
166166
renderObject.attached &&
167167
renderObject is RenderConstrainedLayoutBuilder) {
168-
renderObject.markNeedsBuild();
168+
try {
169+
// try to use the old code
170+
renderObject.markNeedsBuild();
171+
} catch (e) {
172+
// if it fails, on (Flutter 3.24), use markNeedsPaint instead
173+
renderObject.markNeedsPaint();
174+
}
169175
}
170176
}
171177
}
@@ -175,6 +181,9 @@ class CoreTooltipState extends State<CoreTooltip>
175181
// (_tooltipKey.currentContext?.findRenderObject()
176182
// as RenderConstrainedLayoutBuilder<BoxConstraints, RenderBox>?)
177183
// ?.markNeedsBuild();
184+
// What aver this dead codes does, markNeedsBuild isn't a function available
185+
// on RenderObject in flutter 3.24, should be changed to markNeedsPaint or
186+
// markNeedsLayout.
178187
}
179188

180189
void _startShowTimer() {

packages/syncfusion_flutter_charts/lib/src/charts/common/element_widget.dart

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,14 @@ class RenderChartElementLayoutBuilder<T, D> extends RenderBox
110110
}
111111

112112
void refresh() {
113-
markNeedsBuild();
113+
try {
114+
markNeedsBuild();
115+
} catch (e) {
116+
// try marking this widget as dirty and needs layout repaint. This should
117+
// work if the object is a RenderObject. Might need something else in other
118+
// cases.
119+
markNeedsLayout();
120+
}
114121
(child as RenderChartFadeTransition?)?.refresh();
115122
}
116123

0 commit comments

Comments
 (0)