From 10126444bfcbe7fb884f74cd128520ef9bcb1bde Mon Sep 17 00:00:00 2001 From: Virtually Nick Date: Wed, 5 Jan 2022 08:12:29 -0500 Subject: [PATCH] GUACAMOLE-876: Avoid disrupting open files and active print jobs to update display. --- src/protocols/rdp/channels/disp.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/protocols/rdp/channels/disp.c b/src/protocols/rdp/channels/disp.c index 9bfbc4e2..6e5c889d 100644 --- a/src/protocols/rdp/channels/disp.c +++ b/src/protocols/rdp/channels/disp.c @@ -19,6 +19,7 @@ #include "channels/disp.h" #include "plugins/channels.h" +#include "fs.h" #include "rdp.h" #include "settings.h" @@ -277,6 +278,17 @@ void guac_rdp_disp_update_size(guac_rdp_disp* disp, } int guac_rdp_disp_reconnect_needed(guac_rdp_disp* disp) { + guac_rdp_client* rdp_client = (guac_rdp_client*) disp->client->data; + + /* Do not reconnect if files are open. */ + if (rdp_client->filesystem->open_files > 0) + return 0; + + /* Do not reconnect if an active print job is present */ + if (rdp_client->active_job != NULL) + return 0; + + return disp->reconnect_needed; }