Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/neutrinolabs/xorgxrdp.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatt335672 <30179339+matt335672@users.noreply.github.com>2022-03-29 11:11:37 +0300
committerGitHub <noreply@github.com>2022-03-29 11:11:37 +0300
commit0d5cbfe6d72ad362021dea1eb7e024c64b7e41d1 (patch)
tree63f6aef72ed776d10193c35ff0993f0d246248af
parentad5f3c8db5089e3e48397094ee97b07882a91101 (diff)
parent600095a2d5133a13409395b6629309506963672a (diff)
Merge pull request #212 from Nexarian/unify_monitor_description_processing_resize_sec
Update for unification of monitor processing
-rw-r--r--module/rdpClientCon.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/module/rdpClientCon.c b/module/rdpClientCon.c
index a6ab705..f35743c 100644
--- a/module/rdpClientCon.c
+++ b/module/rdpClientCon.c
@@ -971,14 +971,32 @@ rdpClientConProcessMsgClientInfo(rdpPtr dev, rdpClientCon *clientCon)
{
LLOGLN(0, (" client can not do new(color) cursor"));
}
+/*
+ TODO: Temporary workaround intended to support two different versions of the xrdp_client_info.h
+ header due to a customer request. This should be removed as soon as convenient, probably before the next
+ release. See https://github.com/neutrinolabs/xorgxrdp/issues/217
+*/
+#if CLIENT_INFO_CURRENT_VERSION == 20210723
if (clientCon->client_info.monitorCount > 0)
+#else
+ if (clientCon->client_info.display_sizes.monitorCount > 0)
+#endif
{
LLOGLN(0, (" client can do multimon"));
+#if CLIENT_INFO_CURRENT_VERSION == 20210723
LLOGLN(0, (" client monitor data, monitorCount=%d", clientCon->client_info.monitorCount));
+#else
+ LLOGLN(0, (" client monitor data, monitorCount=%d", clientCon->client_info.display_sizes.monitorCount));
+#endif
clientCon->doMultimon = 1;
dev->doMultimon = 1;
+#if CLIENT_INFO_CURRENT_VERSION == 20210723
memcpy(dev->minfo, clientCon->client_info.minfo, sizeof(dev->minfo));
dev->monitorCount = clientCon->client_info.monitorCount;
+#else
+ memcpy(dev->minfo, clientCon->client_info.display_sizes.minfo, sizeof(dev->minfo));
+ dev->monitorCount = clientCon->client_info.display_sizes.monitorCount;
+#endif
box.x1 = dev->minfo[0].left;
box.y1 = dev->minfo[0].top;