From f4267450944fe176d887d27464e3e8dcbeda2cd7 Mon Sep 17 00:00:00 2001 From: "Nathan.fooo" <86001920+appflowy@users.noreply.github.com> Date: Fri, 11 Nov 2022 12:41:53 +0800 Subject: [PATCH] fix: await the cell dispose (#1437) --- .../board/application/card/board_checkbox_cell_bloc.dart | 2 +- .../board/application/card/board_date_cell_bloc.dart | 2 +- .../board/application/card/board_number_cell_bloc.dart | 2 +- .../application/card/board_select_option_cell_bloc.dart | 2 +- .../board/application/card/board_text_cell_bloc.dart | 2 +- .../plugins/board/application/card/board_url_cell_bloc.dart | 2 +- .../grid/application/cell/cell_service/cell_controller.dart | 6 +++--- .../plugins/grid/application/cell/checkbox_cell_bloc.dart | 2 +- .../lib/plugins/grid/application/cell/date_cal_bloc.dart | 2 +- .../lib/plugins/grid/application/cell/date_cell_bloc.dart | 2 +- .../lib/plugins/grid/application/cell/number_cell_bloc.dart | 2 +- .../grid/application/cell/select_option_cell_bloc.dart | 2 +- .../grid/application/cell/select_option_editor_bloc.dart | 2 +- .../lib/plugins/grid/application/cell/text_cell_bloc.dart | 2 +- .../lib/plugins/grid/application/cell/url_cell_bloc.dart | 2 +- .../plugins/grid/application/cell/url_cell_editor_bloc.dart | 2 +- 16 files changed, 18 insertions(+), 18 deletions(-) diff --git a/frontend/app_flowy/lib/plugins/board/application/card/board_checkbox_cell_bloc.dart b/frontend/app_flowy/lib/plugins/board/application/card/board_checkbox_cell_bloc.dart index c8a0d87f9c..8229fd1588 100644 --- a/frontend/app_flowy/lib/plugins/board/application/card/board_checkbox_cell_bloc.dart +++ b/frontend/app_flowy/lib/plugins/board/application/card/board_checkbox_cell_bloc.dart @@ -35,7 +35,7 @@ class BoardCheckboxCellBloc cellController.removeListener(_onCellChangedFn!); _onCellChangedFn = null; } - cellController.dispose(); + await cellController.dispose(); return super.close(); } diff --git a/frontend/app_flowy/lib/plugins/board/application/card/board_date_cell_bloc.dart b/frontend/app_flowy/lib/plugins/board/application/card/board_date_cell_bloc.dart index a19d7b64a8..0512fb8bb9 100644 --- a/frontend/app_flowy/lib/plugins/board/application/card/board_date_cell_bloc.dart +++ b/frontend/app_flowy/lib/plugins/board/application/card/board_date_cell_bloc.dart @@ -31,7 +31,7 @@ class BoardDateCellBloc extends Bloc { cellController.removeListener(_onCellChangedFn!); _onCellChangedFn = null; } - cellController.dispose(); + await cellController.dispose(); return super.close(); } diff --git a/frontend/app_flowy/lib/plugins/board/application/card/board_number_cell_bloc.dart b/frontend/app_flowy/lib/plugins/board/application/card/board_number_cell_bloc.dart index 2cc4882357..4cf0930591 100644 --- a/frontend/app_flowy/lib/plugins/board/application/card/board_number_cell_bloc.dart +++ b/frontend/app_flowy/lib/plugins/board/application/card/board_number_cell_bloc.dart @@ -32,7 +32,7 @@ class BoardNumberCellBloc cellController.removeListener(_onCellChangedFn!); _onCellChangedFn = null; } - cellController.dispose(); + await cellController.dispose(); return super.close(); } diff --git a/frontend/app_flowy/lib/plugins/board/application/card/board_select_option_cell_bloc.dart b/frontend/app_flowy/lib/plugins/board/application/card/board_select_option_cell_bloc.dart index daa4dcc383..e1c7195117 100644 --- a/frontend/app_flowy/lib/plugins/board/application/card/board_select_option_cell_bloc.dart +++ b/frontend/app_flowy/lib/plugins/board/application/card/board_select_option_cell_bloc.dart @@ -34,7 +34,7 @@ class BoardSelectOptionCellBloc cellController.removeListener(_onCellChangedFn!); _onCellChangedFn = null; } - cellController.dispose(); + await cellController.dispose(); return super.close(); } diff --git a/frontend/app_flowy/lib/plugins/board/application/card/board_text_cell_bloc.dart b/frontend/app_flowy/lib/plugins/board/application/card/board_text_cell_bloc.dart index 9d1b14c605..7af1757329 100644 --- a/frontend/app_flowy/lib/plugins/board/application/card/board_text_cell_bloc.dart +++ b/frontend/app_flowy/lib/plugins/board/application/card/board_text_cell_bloc.dart @@ -41,7 +41,7 @@ class BoardTextCellBloc extends Bloc { cellController.removeListener(_onCellChangedFn!); _onCellChangedFn = null; } - cellController.dispose(); + await cellController.dispose(); return super.close(); } diff --git a/frontend/app_flowy/lib/plugins/board/application/card/board_url_cell_bloc.dart b/frontend/app_flowy/lib/plugins/board/application/card/board_url_cell_bloc.dart index 045a1633fa..9494e7ae68 100644 --- a/frontend/app_flowy/lib/plugins/board/application/card/board_url_cell_bloc.dart +++ b/frontend/app_flowy/lib/plugins/board/application/card/board_url_cell_bloc.dart @@ -38,7 +38,7 @@ class BoardURLCellBloc extends Bloc { cellController.removeListener(_onCellChangedFn!); _onCellChangedFn = null; } - cellController.dispose(); + await cellController.dispose(); return super.close(); } diff --git a/frontend/app_flowy/lib/plugins/grid/application/cell/cell_service/cell_controller.dart b/frontend/app_flowy/lib/plugins/grid/application/cell/cell_service/cell_controller.dart index 7a43378eb8..70a3b76300 100644 --- a/frontend/app_flowy/lib/plugins/grid/application/cell/cell_service/cell_controller.dart +++ b/frontend/app_flowy/lib/plugins/grid/application/cell/cell_service/cell_controller.dart @@ -290,20 +290,20 @@ class IGridCellController extends Equatable { }); } - void dispose() { + Future dispose() async { if (_isDispose) { Log.error("$this should only dispose once"); return; } _isDispose = true; - _cellListener?.stop(); + await _cellListener?.stop(); _loadDataOperation?.cancel(); _saveDataOperation?.cancel(); _cellDataNotifier = null; if (_onFieldChangedFn != null) { _fieldNotifier.unregister(_cacheKey, _onFieldChangedFn!); - _fieldNotifier.dispose(); + await _fieldNotifier.dispose(); _onFieldChangedFn = null; } } diff --git a/frontend/app_flowy/lib/plugins/grid/application/cell/checkbox_cell_bloc.dart b/frontend/app_flowy/lib/plugins/grid/application/cell/checkbox_cell_bloc.dart index 5f7aee108e..503dd88b81 100644 --- a/frontend/app_flowy/lib/plugins/grid/application/cell/checkbox_cell_bloc.dart +++ b/frontend/app_flowy/lib/plugins/grid/application/cell/checkbox_cell_bloc.dart @@ -37,7 +37,7 @@ class CheckboxCellBloc extends Bloc { _onCellChangedFn = null; } - cellController.dispose(); + await cellController.dispose(); return super.close(); } diff --git a/frontend/app_flowy/lib/plugins/grid/application/cell/date_cal_bloc.dart b/frontend/app_flowy/lib/plugins/grid/application/cell/date_cal_bloc.dart index 0deee8098c..61de91e21b 100644 --- a/frontend/app_flowy/lib/plugins/grid/application/cell/date_cal_bloc.dart +++ b/frontend/app_flowy/lib/plugins/grid/application/cell/date_cal_bloc.dart @@ -139,7 +139,7 @@ class DateCalBloc extends Bloc { cellController.removeListener(_onCellChangedFn!); _onCellChangedFn = null; } - cellController.dispose(); + await cellController.dispose(); return super.close(); } diff --git a/frontend/app_flowy/lib/plugins/grid/application/cell/date_cell_bloc.dart b/frontend/app_flowy/lib/plugins/grid/application/cell/date_cell_bloc.dart index e44e15a2fa..38f51e710e 100644 --- a/frontend/app_flowy/lib/plugins/grid/application/cell/date_cell_bloc.dart +++ b/frontend/app_flowy/lib/plugins/grid/application/cell/date_cell_bloc.dart @@ -31,7 +31,7 @@ class DateCellBloc extends Bloc { cellController.removeListener(_onCellChangedFn!); _onCellChangedFn = null; } - cellController.dispose(); + await cellController.dispose(); return super.close(); } diff --git a/frontend/app_flowy/lib/plugins/grid/application/cell/number_cell_bloc.dart b/frontend/app_flowy/lib/plugins/grid/application/cell/number_cell_bloc.dart index 2ca989289f..5a85f007ad 100644 --- a/frontend/app_flowy/lib/plugins/grid/application/cell/number_cell_bloc.dart +++ b/frontend/app_flowy/lib/plugins/grid/application/cell/number_cell_bloc.dart @@ -46,7 +46,7 @@ class NumberCellBloc extends Bloc { cellController.removeListener(_onCellChangedFn!); _onCellChangedFn = null; } - cellController.dispose(); + await cellController.dispose(); return super.close(); } diff --git a/frontend/app_flowy/lib/plugins/grid/application/cell/select_option_cell_bloc.dart b/frontend/app_flowy/lib/plugins/grid/application/cell/select_option_cell_bloc.dart index 8ca25a6050..43cdf613da 100644 --- a/frontend/app_flowy/lib/plugins/grid/application/cell/select_option_cell_bloc.dart +++ b/frontend/app_flowy/lib/plugins/grid/application/cell/select_option_cell_bloc.dart @@ -36,7 +36,7 @@ class SelectOptionCellBloc cellController.removeListener(_onCellChangedFn!); _onCellChangedFn = null; } - cellController.dispose(); + await cellController.dispose(); return super.close(); } diff --git a/frontend/app_flowy/lib/plugins/grid/application/cell/select_option_editor_bloc.dart b/frontend/app_flowy/lib/plugins/grid/application/cell/select_option_editor_bloc.dart index 8b36560027..9c3eb9cf23 100644 --- a/frontend/app_flowy/lib/plugins/grid/application/cell/select_option_editor_bloc.dart +++ b/frontend/app_flowy/lib/plugins/grid/application/cell/select_option_editor_bloc.dart @@ -81,7 +81,7 @@ class SelectOptionCellEditorBloc @override Future close() async { _delayOperation?.cancel(); - cellController.dispose(); + await cellController.dispose(); return super.close(); } diff --git a/frontend/app_flowy/lib/plugins/grid/application/cell/text_cell_bloc.dart b/frontend/app_flowy/lib/plugins/grid/application/cell/text_cell_bloc.dart index 3fa55b744f..86e3f93132 100644 --- a/frontend/app_flowy/lib/plugins/grid/application/cell/text_cell_bloc.dart +++ b/frontend/app_flowy/lib/plugins/grid/application/cell/text_cell_bloc.dart @@ -35,7 +35,7 @@ class TextCellBloc extends Bloc { cellController.removeListener(_onCellChangedFn!); _onCellChangedFn = null; } - cellController.dispose(); + await cellController.dispose(); return super.close(); } diff --git a/frontend/app_flowy/lib/plugins/grid/application/cell/url_cell_bloc.dart b/frontend/app_flowy/lib/plugins/grid/application/cell/url_cell_bloc.dart index 824900f173..d2944e15e1 100644 --- a/frontend/app_flowy/lib/plugins/grid/application/cell/url_cell_bloc.dart +++ b/frontend/app_flowy/lib/plugins/grid/application/cell/url_cell_bloc.dart @@ -38,7 +38,7 @@ class URLCellBloc extends Bloc { cellController.removeListener(_onCellChangedFn!); _onCellChangedFn = null; } - cellController.dispose(); + await cellController.dispose(); return super.close(); } diff --git a/frontend/app_flowy/lib/plugins/grid/application/cell/url_cell_editor_bloc.dart b/frontend/app_flowy/lib/plugins/grid/application/cell/url_cell_editor_bloc.dart index 8e82c27f42..8cd1fadd91 100644 --- a/frontend/app_flowy/lib/plugins/grid/application/cell/url_cell_editor_bloc.dart +++ b/frontend/app_flowy/lib/plugins/grid/application/cell/url_cell_editor_bloc.dart @@ -36,7 +36,7 @@ class URLCellEditorBloc extends Bloc { cellController.removeListener(_onCellChangedFn!); _onCellChangedFn = null; } - cellController.dispose(); + await cellController.dispose(); return super.close(); }