diff mbox

[PULL,3/3] vnc: fix screen updates

Message ID 1403175829-24595-4-git-send-email-kraxel@redhat.com
State New
Headers show

Commit Message

Gerd Hoffmann June 19, 2014, 11:03 a.m. UTC
Bug was added by 38ee14f4f33f8836fc0e209ca59c6ae8c6edf380.
vnc_jobs_join call is missing in one code path.

Reported-by: Anthony PERARD <anthony.perard@citrix.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 ui/vnc.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Zhang Haoyu Aug. 27, 2014, 4:39 a.m. UTC | #1
>Bug was added by 38ee14f4f33f8836fc0e209ca59c6ae8c6edf380.
>vnc_jobs_join call is missing in one code path.
>
>Reported-by: Anthony PERARD <anthony.perard@citrix.com>
>Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
>---
> ui/vnc.c | 3 +++
> 1 file changed, 3 insertions(+)
>
>diff --git a/ui/vnc.c b/ui/vnc.c
>index 6c9d4f3..aac93f0 100644
>--- a/ui/vnc.c
>+++ b/ui/vnc.c
>@@ -935,6 +935,9 @@ static int vnc_update_client(VncState *vs, int has_dirty, bool sync)
>         }
> 
>         vnc_job_push(job);
>+        if (sync) {
>+            vnc_jobs_join(vs);
>+        }
>         vs->force_update = 0;
>         return n;
>     }
>-- 
>1.8.3.1

What about below raw patch,
@@ -935,14 +935,13 @@ static int vnc_update_client(VncState *vs, int has_dirty, bool sync)
         }
 
         vnc_job_push(job);
         vs->force_update = 0;
-        return n;
     }

     if (vs->csock == -1) {
         vnc_disconnect_finish(vs);
     } else if (sync) {
         vnc_jobs_join(vs);
     }

-    return 0;
+    return n;

Thanks,
Zhang Haoyu
diff mbox

Patch

diff --git a/ui/vnc.c b/ui/vnc.c
index 6c9d4f3..aac93f0 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -935,6 +935,9 @@  static int vnc_update_client(VncState *vs, int has_dirty, bool sync)
         }
 
         vnc_job_push(job);
+        if (sync) {
+            vnc_jobs_join(vs);
+        }
         vs->force_update = 0;
         return n;
     }