From f624028755111b9f0474f9196b56607998453fb4 Mon Sep 17 00:00:00 2001 From: d3agle Date: Mon, 6 Apr 2015 12:20:00 -0500 Subject: [PATCH] Small fix for RDP moved static field to property so command handler gets the initial -1 check starting rdp --- Server/Core/Commands/CommandHandler.cs | 9 ++++----- Server/Core/UserState.cs | 3 +++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Server/Core/Commands/CommandHandler.cs b/Server/Core/Commands/CommandHandler.cs index 2a49eb9d..9eeee8b6 100644 --- a/Server/Core/Commands/CommandHandler.cs +++ b/Server/Core/Commands/CommandHandler.cs @@ -14,7 +14,6 @@ namespace xServer.Core.Commands public static class CommandHandler { private const string DELIMITER = "$E$"; - private static int lastQuality = -1; public static void HandleInitialize(Client client, Initialize packet) { @@ -117,8 +116,8 @@ public static void HandleRemoteDesktopResponse(Client client, DesktopResponse pa if (client.Value.LastDesktop == null) { client.Value.StreamCodec = new UnsafeStreamCodec(); - if (lastQuality < 0) - lastQuality = packet.Quality; + if (client.Value.LastQuality < 0) + client.Value.LastQuality = packet.Quality; using (MemoryStream ms = new MemoryStream(packet.Image)) { @@ -144,10 +143,10 @@ public static void HandleRemoteDesktopResponse(Client client, DesktopResponse pa { lock (client.Value.StreamCodec) { - if (lastQuality != packet.Quality) + if (client.Value.LastQuality != packet.Quality) { client.Value.StreamCodec = new UnsafeStreamCodec(); - lastQuality = packet.Quality; + client.Value.LastQuality = packet.Quality; } Bitmap newScreen = client.Value.StreamCodec.DecodeData(ms); diff --git a/Server/Core/UserState.cs b/Server/Core/UserState.cs index e63ed791..d4ccc1cd 100644 --- a/Server/Core/UserState.cs +++ b/Server/Core/UserState.cs @@ -27,6 +27,8 @@ public class UserState public bool LastDesktopSeen { get; set; } public bool LastDirectorySeen { get; set; } + public int LastQuality { get; set; } + public Bitmap LastDesktop { get; set; } public UnsafeStreamCodec StreamCodec { get; set; } @@ -36,6 +38,7 @@ public UserState() IsAuthenticated = false; LastDesktopSeen = true; LastDirectorySeen = true; + LastQuality = -1; } public void DisposeForms()