[gnome-remote-desktop] session-rdp: Encode pending frame data upon end of SuppressOutput



commit 026ac0afea374eefa4eb8d7a53babce71fd02bc4
Author: Pascal Nowack <Pascal Nowack gmx de>
Date:   Tue Mar 16 11:21:43 2021 +0100

    session-rdp: Encode pending frame data upon end of SuppressOutput
    
    Use the GSource, that was added in the previous commit, to encode any
    pending frame data, when client stops suppressing the output.
    This will be the case, when the user restores the RDP client or
    switches to the workspace, where the restored RDP client window lies.
    Without this commit, the user would have to trigger a new frame by e.g.
    moving the mouse to ensure that they received the latest frame content.

 src/grd-session-rdp.c | 4 ++++
 1 file changed, 4 insertions(+)
---
diff --git a/src/grd-session-rdp.c b/src/grd-session-rdp.c
index 2c3ccd6..c3b9fa4 100644
--- a/src/grd-session-rdp.c
+++ b/src/grd-session-rdp.c
@@ -1423,12 +1423,16 @@ rdp_suppress_output (rdpContext         *rdp_context,
                      const RECTANGLE_16 *area)
 {
   RdpPeerContext *rdp_peer_context = (RdpPeerContext *) rdp_context;
+  GrdSessionRdp *session_rdp = rdp_peer_context->session_rdp;
 
   if (allow)
     set_rdp_peer_flag (rdp_peer_context, RDP_PEER_OUTPUT_ENABLED);
   else
     unset_rdp_peer_flag (rdp_peer_context, RDP_PEER_OUTPUT_ENABLED);
 
+  if (allow)
+    g_source_set_ready_time (session_rdp->pending_encode_source, 0);
+
   return TRUE;
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]