diff options
author | Antenore Gatta (tmow) <antenore@simbiosi.org> | 2022-10-18 11:24:14 +0300 |
---|---|---|
committer | Antenore Gatta (tmow) <antenore@simbiosi.org> | 2022-10-18 11:24:14 +0300 |
commit | fe3003cc32e784a6ca721bc5a615e1e8d633e27e (patch) | |
tree | 2fb9f9b2d3bce0cfefb5ce4f73e768b5bb8e505a | |
parent | c2a2fb30620a2d7f097e6f7d8d755ccd094ded76 (diff) | |
parent | 37292caf38d1c6340034e7227ebc86ce024232fb (diff) |
Merge branch 'no-suppress' into 'master'
RDP: Add option to disable output suppression
See merge request Remmina/Remmina!2432
-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 } }; |