diff options
author | Daniel Richard G <skunk@iSKUNK.ORG> | 2022-10-10 02:18:50 +0300 |
---|---|---|
committer | Daniel Richard G <skunk@iSKUNK.ORG> | 2022-10-10 02:18:50 +0300 |
commit | 37292caf38d1c6340034e7227ebc86ce024232fb (patch) | |
tree | 8cbce073e2c2f356cfbae5e97e46a5012bda718c | |
parent | 1b7acbc5ac468776ac31bae2615fedb14d09b112 (diff) |
RDP: Add option to disable output suppression
-rw-r--r-- | plugins/rdp/rdp_event.c | 22 | ||||
-rw-r--r-- | plugins/rdp/rdp_plugin.c | 1 |
2 files changed, 17 insertions, 6 deletions
diff --git a/plugins/rdp/rdp_event.c b/plugins/rdp/rdp_event.c index 3d6fcc9ca..5add6b654 100644 --- a/plugins/rdp/rdp_event.c +++ b/plugins/rdp/rdp_event.c @@ -53,10 +53,15 @@ gboolean remmina_rdp_event_on_map(RemminaProtocolWidget *gp) if (rfi == NULL) return false; - gdi = ((rdpContext *)rfi)->gdi; + RemminaFile *remminafile = remmina_plugin_service->protocol_plugin_get_file(gp); + int do_suppress = !remmina_plugin_service->file_get_int(remminafile, "no-suppress", FALSE); + + if (do_suppress) { + gdi = ((rdpContext *)rfi)->gdi; - REMMINA_PLUGIN_DEBUG("Map event received, disabling TS_SUPPRESS_OUTPUT_PDU "); - gdi_send_suppress_output(gdi, FALSE); + REMMINA_PLUGIN_DEBUG("Map event received, disabling TS_SUPPRESS_OUTPUT_PDU "); + gdi_send_suppress_output(gdi, FALSE); + } return FALSE; } @@ -78,10 +83,15 @@ gboolean remmina_rdp_event_on_unmap(RemminaProtocolWidget *gp) return FALSE; } - gdi = ((rdpContext *)rfi)->gdi; + RemminaFile *remminafile = remmina_plugin_service->protocol_plugin_get_file(gp); + int do_suppress = !remmina_plugin_service->file_get_int(remminafile, "no-suppress", FALSE); + + if (do_suppress) { + gdi = ((rdpContext *)rfi)->gdi; - REMMINA_PLUGIN_DEBUG("Unmap event received, enabling TS_SUPPRESS_OUTPUT_PDU "); - gdi_send_suppress_output(gdi, TRUE); + REMMINA_PLUGIN_DEBUG("Unmap event received, enabling TS_SUPPRESS_OUTPUT_PDU "); + gdi_send_suppress_output(gdi, TRUE); + } return FALSE; } diff --git a/plugins/rdp/rdp_plugin.c b/plugins/rdp/rdp_plugin.c index b7c6b8360..9e5d5ec47 100644 --- a/plugins/rdp/rdp_plugin.c +++ b/plugins/rdp/rdp_plugin.c @@ -2878,6 +2878,7 @@ static const RemminaProtocolSetting remmina_rdp_advanced_settings[] = #if FREERDP_CHECK_VERSION(2, 3, 1) { REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "websockets", N_("Enable Gateway websockets support"), TRUE, NULL, NULL }, #endif + { REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "no-suppress", N_("Update framebuffer even when not visible"), TRUE, NULL }, { REMMINA_PROTOCOL_SETTING_TYPE_END, NULL, NULL, FALSE, NULL, NULL } }; |