From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=60470 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q22A6-0001nD-EP for qemu-devel@nongnu.org; Tue, 22 Mar 2011 10:02:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q22A5-0004g6-2s for qemu-devel@nongnu.org; Tue, 22 Mar 2011 10:02:18 -0400 Received: from e32.co.us.ibm.com ([32.97.110.150]:44178) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q22A4-0004fw-SQ for qemu-devel@nongnu.org; Tue, 22 Mar 2011 10:02:17 -0400 Received: from d03relay03.boulder.ibm.com (d03relay03.boulder.ibm.com [9.17.195.228]) by e32.co.us.ibm.com (8.14.4/8.13.1) with ESMTP id p2MDpWgq029251 for ; Tue, 22 Mar 2011 07:51:32 -0600 Received: from d03av02.boulder.ibm.com (d03av02.boulder.ibm.com [9.17.195.168]) by d03relay03.boulder.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p2ME2F1E120316 for ; Tue, 22 Mar 2011 08:02:15 -0600 Received: from d03av02.boulder.ibm.com (loopback [127.0.0.1]) by d03av02.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p2ME2Eop016406 for ; Tue, 22 Mar 2011 08:02:15 -0600 Message-ID: <4D88ABE2.7060501@us.ibm.com> Date: Tue, 22 Mar 2011 09:02:10 -0500 From: Anthony Liguori MIME-Version: 1.0 References: <4D79E708.9050007@cn.fujitsu.com> In-Reply-To: <4D79E708.9050007@cn.fujitsu.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: [PATCH RESEND v3] fix vnc regression List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Wen Congyang Cc: qemu-devel , Corentin Chary On 03/11/2011 03:10 AM, Wen Congyang wrote: > 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 > > --- > ui/vnc.c | 8 ++++++-- > 1 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/ui/vnc.c b/ui/vnc.c > index 34dc0cd..8fd35c1 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_WORDS * BITS_PER_LONG - width); > } VNC_DIRTY_WORDS in not a valid symbol in the latest tip. Regards, Anthony Liguori > } > }