diff options
author | Christopher Pitstick <cmp@pitstick.net> | 2022-03-21 03:08:31 +0300 |
---|---|---|
committer | Christopher Pitstick <cmp@pitstick.net> | 2022-03-28 22:54:38 +0300 |
commit | 600095a2d5133a13409395b6629309506963672a (patch) | |
tree | 63f6aef72ed776d10193c35ff0993f0d246248af | |
parent | ad5f3c8db5089e3e48397094ee97b07882a91101 (diff) |
Update for unification of monitor processing
Related to https://github.com/neutrinolabs/xrdp/pull/1895
-rw-r--r-- | module/rdpClientCon.c | 18 |
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; |