Skip to content

Commit

Permalink
Revert "Fixing memory leak in EditableTextState" (#133804)
Browse files Browse the repository at this point in the history
Reverts flutter/flutter#131377

reverting because of internal google testing failures b/298310760
  • Loading branch information
Renzo-Olivares authored Aug 31, 2023
1 parent f32b6fe commit acdcbae
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 5 deletions.
5 changes: 1 addition & 4 deletions packages/flutter/lib/src/widgets/editable_text.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2125,7 +2125,6 @@ class EditableTextState extends State<EditableText> with AutomaticKeepAliveClien
late final Simulation _iosBlinkCursorSimulation = _DiscreteKeyFrameSimulation.iOSBlinkingCaret();

final ValueNotifier<bool> _cursorVisibilityNotifier = ValueNotifier<bool>(true);
late final ValueNotifier<bool> _debugCursorNotifier;
final GlobalKey _editableKey = GlobalKey();

/// Detects whether the clipboard can paste.
Expand Down Expand Up @@ -2793,7 +2792,6 @@ class EditableTextState extends State<EditableText> with AutomaticKeepAliveClien
_scrollController.addListener(_onEditableScroll);
_cursorVisibilityNotifier.value = widget.showCursor;
_spellCheckConfiguration = _inferSpellCheckConfiguration(widget.spellCheckConfiguration);
_debugCursorNotifier = ValueNotifier<bool>(widget.showCursor);
}

// Whether `TickerMode.of(context)` is true and animations (like blinking the
Expand Down Expand Up @@ -2938,7 +2936,6 @@ class EditableTextState extends State<EditableText> with AutomaticKeepAliveClien

@override
void dispose() {
_debugCursorNotifier.dispose();
_internalScrollController?.dispose();
_currentAutofillScope?.unregister(autofillId);
widget.controller.removeListener(_didChangeTextEditingValue);
Expand Down Expand Up @@ -4860,7 +4857,7 @@ class EditableTextState extends State<EditableText> with AutomaticKeepAliveClien
cursorColor: _cursorColor,
backgroundCursorColor: widget.backgroundCursorColor,
showCursor: EditableText.debugDeterministicCursor
? _debugCursorNotifier
? ValueNotifier<bool>(widget.showCursor)
: _cursorVisibilityNotifier,
forceLine: widget.forceLine,
readOnly: widget.readOnly,
Expand Down
13 changes: 12 additions & 1 deletion packages/flutter/test/material/text_selection_theme_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,18 @@ void main() {
await tester.pumpAndSettle();
final RenderBox handle = tester.firstRenderObject<RenderBox>(find.byType(CustomPaint));
expect(handle, paints..path(color: defaultSelectionHandleColor));
});
},
// TODO(polina-c): remove after fixing
// https://github.com/flutter/flutter/issues/130469
leakTrackingTestConfig: const LeakTrackingTestConfig(
notDisposedAllowList: <String, int?>{
'ValueNotifier<MagnifierInfo>': 1,
'ValueNotifier<_OverlayEntryWidgetState?>': 2,
'ValueNotifier<bool>': 2,
'_InputBorderGap': 1,
},
),
);

testWidgets('ThemeData.textSelectionTheme will be used if provided', (WidgetTester tester) async {
const TextSelectionThemeData textSelectionTheme = TextSelectionThemeData(
Expand Down

0 comments on commit acdcbae

Please sign in to comment.