mirror of
https://github.com/rustdesk/rustdesk
synced 2026-05-24 09:28:23 +00:00
win_fix_multi_tab: debug done
Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
parent
db99eccbe0
commit
38803f0de5
2 changed files with 10 additions and 8 deletions
|
|
@ -28,7 +28,7 @@ import 'input_model.dart';
|
|||
import 'platform_model.dart';
|
||||
|
||||
typedef HandleMsgBox = Function(Map<String, dynamic> evt, String id);
|
||||
bool _waitForImage = false;
|
||||
final _waitForImage = <String, bool>{};
|
||||
|
||||
class FfiModel with ChangeNotifier {
|
||||
PeerInfo _pi = PeerInfo();
|
||||
|
|
@ -92,7 +92,6 @@ class FfiModel with ChangeNotifier {
|
|||
clear() {
|
||||
_pi = PeerInfo();
|
||||
_display = Display();
|
||||
_waitForImage = false;
|
||||
_secure = null;
|
||||
_direct = null;
|
||||
_inputBlocked = false;
|
||||
|
|
@ -314,7 +313,7 @@ class FfiModel with ChangeNotifier {
|
|||
parent.target?.dialogManager.showLoading(
|
||||
translate('Connected, waiting for image...'),
|
||||
onCancel: closeConnection);
|
||||
_waitForImage = true;
|
||||
_waitForImage[peerId] = true;
|
||||
_reconnects = 1;
|
||||
}
|
||||
}
|
||||
|
|
@ -354,8 +353,8 @@ class ImageModel with ChangeNotifier {
|
|||
ImageModel(this.parent);
|
||||
|
||||
onRgba(Uint8List rgba) {
|
||||
if (_waitForImage) {
|
||||
_waitForImage = false;
|
||||
if (_waitForImage[id]!) {
|
||||
_waitForImage[id] = false;
|
||||
parent.target?.dialogManager.dismissAll();
|
||||
}
|
||||
final pid = parent.target?.id;
|
||||
|
|
|
|||
|
|
@ -56,6 +56,7 @@ struct IpcTaskRunner<T: InvokeUiCM> {
|
|||
cm: ConnectionManager<T>,
|
||||
tx: mpsc::UnboundedSender<Data>,
|
||||
rx: mpsc::UnboundedReceiver<Data>,
|
||||
close: bool,
|
||||
conn_id: i32,
|
||||
#[cfg(windows)]
|
||||
file_transfer_enabled: bool,
|
||||
|
|
@ -260,7 +261,6 @@ impl<T: InvokeUiCM> IpcTaskRunner<T> {
|
|||
|
||||
// for tmp use, without real conn id
|
||||
let mut write_jobs: Vec<fs::TransferJob> = Vec::new();
|
||||
let mut close = true;
|
||||
|
||||
#[cfg(windows)]
|
||||
if self.conn_id > 0 {
|
||||
|
|
@ -314,7 +314,7 @@ impl<T: InvokeUiCM> IpcTaskRunner<T> {
|
|||
break;
|
||||
}
|
||||
Data::Disconnected => {
|
||||
close = false;
|
||||
self.close = false;
|
||||
#[cfg(windows)]
|
||||
self.enable_cliprdr_file_context(self.conn_id, false).await;
|
||||
log::info!("cm ipc connection disconnect");
|
||||
|
|
@ -387,6 +387,7 @@ impl<T: InvokeUiCM> IpcTaskRunner<T> {
|
|||
cm,
|
||||
tx,
|
||||
rx,
|
||||
close: true,
|
||||
conn_id: 0,
|
||||
#[cfg(windows)]
|
||||
file_transfer_enabled: false,
|
||||
|
|
@ -397,7 +398,9 @@ impl<T: InvokeUiCM> IpcTaskRunner<T> {
|
|||
task_runner.run().await;
|
||||
}
|
||||
if task_runner.conn_id > 0 {
|
||||
task_runner.cm.remove_connection(task_runner.conn_id, close);
|
||||
task_runner
|
||||
.cm
|
||||
.remove_connection(task_runner.conn_id, task_runner.close);
|
||||
}
|
||||
log::debug!("ipc task end");
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue