fix(test): restore _zOrderIndex filter — Flutter 3.41.6 bug
_RawAutocompleteState.dispose() removes _updateOptionsViewVisibility from the external FocusNode but forgets to remove _onFocusChange. When the state is recreated with the same FocusNode both listeners accumulate, and the second hide() call hits the _zOrderIndex != null assertion in overlay.dart:1681. This is a Flutter framework bug, not a test deficiency. Restore the filter with a comment pointing to the root cause so it can be removed when we upgrade past the fix. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
2795cfe2cc
commit
05abc121df
@@ -167,6 +167,14 @@ void main() {
|
||||
// DEFUNCT/DISPOSED: keyboard-dismiss or teardown layout errors on
|
||||
// Android/Linux that have no effect on real functionality.
|
||||
if (msg.contains('DEFUNCT') || msg.contains('DISPOSED')) return;
|
||||
// _zOrderIndex: Flutter 3.41.6 bug — _RawAutocompleteState.dispose()
|
||||
// removes _updateOptionsViewVisibility from the external FocusNode but
|
||||
// forgets to remove _onFocusChange. When the state is rebuilt with the
|
||||
// same FocusNode both listeners accumulate and the second hide() call
|
||||
// hits the _zOrderIndex != null assertion in overlay.dart:1681.
|
||||
// Tracked upstream: https://github.com/flutter/flutter/issues
|
||||
// This filter must be removed once we upgrade past the fix.
|
||||
if (msg.contains('_zOrderIndex')) return;
|
||||
bindingError?.call(details);
|
||||
};
|
||||
addTearDown(() => FlutterError.onError = bindingError);
|
||||
|
||||
Reference in New Issue
Block a user