Merge pull request #3007 from fufesou/fix/cursor_pos_after_switch_monitor

try fix https://github.com/rustdesk/rustdesk/issues/2923
This commit is contained in:
RustDesk 2023-01-30 22:16:55 +08:00 committed by GitHub
commit 4e69b4f2f4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 3 deletions

View File

@ -379,9 +379,15 @@ class _RemoteMenubarState extends State<RemoteMenubar> {
mod_menu.PopupMenuItem<String>( mod_menu.PopupMenuItem<String>(
height: _MenubarTheme.height, height: _MenubarTheme.height,
padding: EdgeInsets.zero, padding: EdgeInsets.zero,
child: Row( child: Listener(
mainAxisAlignment: MainAxisAlignment.center, onPointerHover: (PointerHoverEvent e) =>
children: rowChildren), widget.ffi.inputModel.lastMousePos = e.position,
child: MouseRegion(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: rowChildren),
),
),
) )
]; ];
}, },

View File

@ -408,6 +408,13 @@ class InputModel {
} }
} }
void refreshMousePos() => handleMouse({
'x': lastMousePos.dx,
'y': lastMousePos.dy,
'buttons': 0,
'type': _kMouseEventMove,
});
void handleMouse(Map<String, dynamic> evt) { void handleMouse(Map<String, dynamic> evt) {
double x = evt['x']; double x = evt['x'];
double y = max(0.0, evt['y']); double y = max(0.0, evt['y']);

View File

@ -244,6 +244,7 @@ class FfiModel with ChangeNotifier {
parent.target?.canvasModel.updateViewStyle(); parent.target?.canvasModel.updateViewStyle();
} }
parent.target?.recordingModel.onSwitchDisplay(); parent.target?.recordingModel.onSwitchDisplay();
parent.target?.inputModel.refreshMousePos();
notifyListeners(); notifyListeners();
} }