Преглед на файлове

Merge pull request #124 from tauu/fix-dispose-focus-node

fix: only dispose the FocusNodes which TerminalView creates
xuty преди 3 години
родител
ревизия
8df279e967
променени са 1 файла, в които са добавени 6 реда и са изтрити 1 реда
  1. 6 1
      lib/src/terminal_view.dart

+ 6 - 1
lib/src/terminal_view.dart

@@ -157,6 +157,9 @@ class TerminalViewState extends State<TerminalView> {
   @override
   void didUpdateWidget(TerminalView oldWidget) {
     if (oldWidget.focusNode != widget.focusNode) {
+      if (oldWidget.focusNode == null) {
+        _focusNode.dispose();
+      }
       _focusNode = widget.focusNode ?? FocusNode();
     }
     if (oldWidget.controller != widget.controller) {
@@ -170,7 +173,9 @@ class TerminalViewState extends State<TerminalView> {
 
   @override
   void dispose() {
-    _focusNode.dispose();
+    if (widget.focusNode == null) {
+      _focusNode.dispose();
+    }
     _shortcutManager.dispose();
     super.dispose();
   }