[gnome-remote-desktop] session-rdp: Fall back to system pointer when pointer size is too large
- From: Jonas Ådahl <jadahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-remote-desktop] session-rdp: Fall back to system pointer when pointer size is too large
- Date: Fri, 18 Dec 2020 09:34:34 +0000 (UTC)
commit 36328613cdbbc6a24c3ba156119893f9d6d82ff6
Author: Pascal Nowack <Pascal Nowack gmx de>
Date: Mon Nov 30 18:46:05 2020 +0100
session-rdp: Fall back to system pointer when pointer size is too large
Currently, when a mouse pointer bitmap is larger than 384x384 pixels,
g-r-d skips the update, since RDP only handles pointer updates up to
384x384 pixels.
This has the disadvantage that cases can occur where g-r-d hides the
mouse pointer due to a transparent bitmap, but then not revoke that
state when the mouse pointer becomes visible again and the pointer
bitmap is too large.
Handle such cases better by falling back to the system pointer bitmap
on the client side in such cases.
src/grd-session-rdp.c | 9 +++++++++
1 file changed, 9 insertions(+)
---
diff --git a/src/grd-session-rdp.c b/src/grd-session-rdp.c
index c24dbef..7c0e099 100644
--- a/src/grd-session-rdp.c
+++ b/src/grd-session-rdp.c
@@ -290,6 +290,15 @@ grd_session_rdp_update_pointer (GrdSessionRdp *session_rdp,
/* RDP only handles pointer bitmaps up to 384x384 pixels */
if (width > 384 || height > 384)
{
+ if (session_rdp->pointer_type != POINTER_TYPE_DEFAULT)
+ {
+ session_rdp->last_pointer = NULL;
+ session_rdp->pointer_type = POINTER_TYPE_DEFAULT;
+ pointer_system.type = SYSPTR_DEFAULT;
+
+ rdp_update->pointer->PointerSystem (peer->context, &pointer_system);
+ }
+
g_free (data);
return;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]