All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wen Congyang <wency@cn.fujitsu.com>
To: Corentin Chary <corentin.chary@gmail.com>
Cc: Blue Swirl <blauwirbel@gmail.com>,
	qemu-devel <qemu-devel@nongnu.org>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: [Qemu-devel] Re: [PATCH 3/4] fix vnc regression
Date: Mon, 21 Mar 2011 16:43:00 +0800	[thread overview]
Message-ID: <4D870F94.3010605@cn.fujitsu.com> (raw)
In-Reply-To: <1300696478-6051-4-git-send-email-corentin.chary@gmail.com>

At 03/21/2011 04:34 PM, Corentin Chary Write:
> From: Wen Congyang <wency@cn.fujitsu.com>
> 
> This patch fix the following regression:
> 1. we should use bitmap_set() and bitmap_clear() to replace vnc_set_bits().
> 
> Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
> Signed-off-by: Corentin Chary <corentin.chary@gmail.com>
> ---
>  ui/vnc.c |    8 ++++++--
>  1 files changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/ui/vnc.c b/ui/vnc.c
> index 5d4beaa..90b6384 100644
> --- a/ui/vnc.c
> +++ b/ui/vnc.c
> @@ -1656,17 +1656,21 @@ static void framebuffer_update_request(VncState *vs, int incremental,
>                                         int x_position, int y_position,
>                                         int w, int h)
>  {
> +    int i;
> +    const size_t width = ds_get_width(vs->ds) / 16;
> +
>      if (y_position > ds_get_height(vs->ds))
>          y_position = ds_get_height(vs->ds);
>      if (y_position + h >= ds_get_height(vs->ds))
>          h = ds_get_height(vs->ds) - y_position;
>  
> -    int i;
>      vs->need_update = 1;
>      if (!incremental) {
>          vs->force_update = 1;
>          for (i = 0; i < h; i++) {
> -            bitmap_set(vs->dirty[y_position + i], x_position / 16, w / 16);
> +            bitmap_set(vs->dirty[y_position + i], 0, width);
> +            bitmap_clear(vs->dirty[y_position + i], width,
> +                         VNC_DIRTY_WORDS * BITS_PER_LONG - width);

Sorry for my mistake. VNC_DIRTY_WORDS is removed, and we should use 
VNC_DIRTY_BITS instead of VNC_DIRTY_WORDS * BITS_PER_LONG.

Thanks
Wen Congyang.

Here is the newest patch, and I forgot to resend it:

>From 4516c6ce980507d3a13a306a8f08baebb678cce8 Mon Sep 17 00:00:00 2001
From: Wen Congyang <wency@cn.fujitsu.com>
Date: Mon, 14 Mar 2011 14:51:41 +0800
Subject: [PATCH] fix vnc regression

---
 ui/vnc.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/ui/vnc.c b/ui/vnc.c
index 1b68965..c9654d4 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -1645,17 +1645,21 @@ static void framebuffer_update_request(VncState *vs, int incremental,
                                        int x_position, int y_position,
                                        int w, int h)
 {
+    int i;
+    const size_t width = ds_get_width(vs->ds) / 16;
+
     if (y_position > ds_get_height(vs->ds))
         y_position = ds_get_height(vs->ds);
     if (y_position + h >= ds_get_height(vs->ds))
         h = ds_get_height(vs->ds) - y_position;
 
-    int i;
     vs->need_update = 1;
     if (!incremental) {
         vs->force_update = 1;
         for (i = 0; i < h; i++) {
-            bitmap_set(vs->dirty[y_position + i], x_position / 16, w / 16);
+            bitmap_set(vs->dirty[y_position + i], 0, width);
+            bitmap_clear(vs->dirty[y_position + i], width,
+                         VNC_DIRTY_BITS - width);
         }
     }
 }
-- 
1.7.1


>          }
>      }
>  }

  reply	other threads:[~2011-03-21  8:43 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-21  8:34 [Qemu-devel] [PATCH 0/4] VNC fixs collection Corentin Chary
2011-03-21  8:34 ` [Qemu-devel] [PATCH 1/4] vnc: tight: Fix crash after 2GB of output Corentin Chary
2011-04-09 22:22   ` Aurelien Jarno
2011-04-11  9:27     ` Corentin Chary
2011-04-11 10:05       ` Aurelien Jarno
2011-03-21  8:34 ` [Qemu-devel] [PATCH 2/4] vnc: don't mess up with iohandlers in the vnc thread Corentin Chary
2011-03-21  8:34 ` [Qemu-devel] [PATCH 3/4] fix vnc regression Corentin Chary
2011-03-21  8:43   ` Wen Congyang [this message]
2011-03-21  8:34 ` [Qemu-devel] [PATCH 4/4] vnc: Limit r/w access to size of allocated memory Corentin Chary
2011-04-09 22:17   ` Aurelien Jarno
2011-04-10  6:28     ` Stefan Weil

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D870F94.3010605@cn.fujitsu.com \
    --to=wency@cn.fujitsu.com \
    --cc=blauwirbel@gmail.com \
    --cc=corentin.chary@gmail.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.