File tree 2 files changed +13
-4
lines changed
flutter/lib/src/user_interaction
2 files changed +13
-4
lines changed Original file line number Diff line number Diff line change 1
1
# Changelog
2
2
3
+ ## Unreleased
4
+
5
+ ### Fixes
6
+
7
+ - Add ` hasSize ` guard when using a renderObject in ` SentryUserInteractionWidget ` ([ #2946 ] ( https://github.com/getsentry/sentry-dart/pull/2946 ) )
8
+
3
9
## 9.0.0-RC.1
4
10
5
11
### Fixes
Original file line number Diff line number Diff line change @@ -205,14 +205,13 @@ import 'package:flutter/cupertino.dart';
205
205
import 'package:flutter/material.dart' ;
206
206
import 'package:flutter/rendering.dart' ;
207
207
import 'package:meta/meta.dart' ;
208
+ // ignore: implementation_imports
209
+ import 'package:sentry/src/sentry_tracer.dart' ;
208
210
209
211
import '../../sentry_flutter.dart' ;
210
212
import '../widget_utils.dart' ;
211
213
import 'user_interaction_info.dart' ;
212
214
213
- // ignore: implementation_imports
214
- import 'package:sentry/src/sentry_tracer.dart' ;
215
-
216
215
const _tapDeltaArea = 20 * 20 ;
217
216
Element ? _clickTrackerElement;
218
217
@@ -542,10 +541,14 @@ class _SentryUserInteractionWidgetState
542
541
return ;
543
542
}
544
543
544
+ // Skip elements that don't have a valid render object or whose
545
+ // render box hasn't been laid out yet.
545
546
final renderObject = element.renderObject;
546
- if (renderObject == null ) {
547
+ if (renderObject == null ||
548
+ (renderObject is RenderBox && ! renderObject.hasSize)) {
547
549
return ;
548
550
}
551
+
549
552
var hitFound = true ;
550
553
if (renderObject is RenderPointerListener ) {
551
554
final hitResult = BoxHitTestResult ();
You can’t perform that action at this time.
0 commit comments