From 6e065c0a162c237887bcb01f28210138f70da7cd Mon Sep 17 00:00:00 2001 From: gysipos <54852084+gysipos@users.noreply.github.com> Date: Wed, 23 Aug 2023 18:21:56 +0200 Subject: [PATCH] Update markdown_text_input.dart bugfixes --- lib/markdown_text_input.dart | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/markdown_text_input.dart b/lib/markdown_text_input.dart index 6779fbd..e493ae2 100644 --- a/lib/markdown_text_input.dart +++ b/lib/markdown_text_input.dart @@ -41,7 +41,7 @@ class MarkdownTextInput extends StatefulWidget { final bool insertLinksByDialog; ///Optional focusNode, the Widget creates it's own if not provided - final FocusNode focusNode; + final FocusNode? focusNode; /// Constructor for [MarkdownTextInput] @@ -62,7 +62,7 @@ class MarkdownTextInput extends StatefulWidget { this.textStyle, this.controller, this.insertLinksByDialog = true, - this.focusNode = FocusNode() + this.focusNode }); @override @@ -72,7 +72,7 @@ class MarkdownTextInput extends StatefulWidget { class _MarkdownTextInputState extends State { final TextEditingController _controller; TextSelection textSelection = const TextSelection(baseOffset: 0, extentOffset: 0); - final focusNode = widget.focusNode; + late final FocusNode focusNode; _MarkdownTextInputState(this._controller); @@ -97,6 +97,7 @@ class _MarkdownTextInputState extends State { @override void initState() { + focusNode = widget.focusNode ?? FocusNode(); _controller.text = widget.initialValue; _controller.addListener(() { if (_controller.selection.baseOffset != -1) textSelection = _controller.selection; @@ -108,7 +109,7 @@ class _MarkdownTextInputState extends State { @override void dispose() { if (widget.controller == null) _controller.dispose(); - focusNode.dispose(); + if (widget.focusNode == null) focusNode.dispose(); super.dispose(); }