From c74bdcdfdb2dbb5321ae7a260462bd2e025a90e6 Mon Sep 17 00:00:00 2001 From: RustDesk <71636191+rustdesk@users.noreply.github.com> Date: Thu, 26 Sep 2024 14:20:37 +0800 Subject: [PATCH] Revert "fix peers view ChangeNotifierProvider update (#9459)" (#9471) This reverts commit 7c55e3266b1cf13a92e6973323aba3034651afb1. --- flutter/lib/common/widgets/peers_view.dart | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/flutter/lib/common/widgets/peers_view.dart b/flutter/lib/common/widgets/peers_view.dart index e80e5ffe3..b18de82d9 100644 --- a/flutter/lib/common/widgets/peers_view.dart +++ b/flutter/lib/common/widgets/peers_view.dart @@ -128,9 +128,8 @@ class _PeersViewState extends State<_PeersView> // // Although `onWindowRestore()` is called after `onWindowBlur()` in my test, // we need the following comparison to ensure that `_isActive` is true in the end. - if (isWindows && - DateTime.now().difference(_lastWindowRestoreTime) < - const Duration(milliseconds: 300)) { + if (isWindows && DateTime.now().difference(_lastWindowRestoreTime) < + const Duration(milliseconds: 300)) { return; } _queryCount = _maxQueryCount; @@ -171,9 +170,8 @@ class _PeersViewState extends State<_PeersView> // We should avoid too many rebuilds. MacOS(m1, 14.6.1) on Flutter 3.19.6. // Continious rebuilds of `ChangeNotifierProvider` will cause memory leak. // Simple demo can reproduce this issue. - return ChangeNotifierProvider.value( - // https://pub.dev/packages/provider: If you already have an object instance and want to expose it, it would be best to use the .value constructor of a provider. - value: widget.peers, + return ChangeNotifierProvider( + create: (context) => widget.peers, child: Consumer(builder: (context, peers, child) { if (peers.peers.isEmpty) { gFFI.peerTabModel.setCurrentTabCachedPeers([]); @@ -188,7 +186,7 @@ class _PeersViewState extends State<_PeersView> ).paddingOnly(bottom: 10), Text( translate( - _emptyMessages[peers.loadEvent] ?? 'Empty', + _emptyMessages[widget.peers.loadEvent] ?? 'Empty', ), textAlign: TextAlign.center, style: TextStyle(