fix vnc regression
PATCH RESEND v3 1/1 fix vnc regression
This patch fix the following regression:
1. we should use bitmap_set() and bitmap_clear() to replace vnc_set_bits().
--- ui/vnc.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-)
ui/vnc.c +6 -2
@@ -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); } } }
Signature · 1 line
1.7.1
Quoted 25 lines · Wen Congyang
This patch fix the following regression:
1. we should usebitmap_set()andbitmap_clear()to replacevnc_set_bits().Signed-off-by Wen Congyang<[email protected]>--- ui/vnc.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-)ui/vnc.c +3
-0@@ -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;
ui/vnc.c static void framebuffer_update_request(VncState *vs, int incremental, · line 1663
Quoted 10 lines
ui/vnc.c +3
-2-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
Quoted 2 lines
ui/vnc.c +0
-0} }
Quoted 9 lines
Quoted 5 lines
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_WORDSin not a valid symbol in the latest tip.Regards,
Patch updated here: http://patchwork.ozlabs.org/patch/87722/
Signature · 2 lines
Corentin Chary http://xf.iksaif.net
Quoted 9 lines · Corentin Chary
Quoted 8 lines
ui/vnc.c static void framebuffer_update_request(VncState *vs, int incremental, · line 1663
Quoted 5 lines
16);
ui/vnc.c +3
-0+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_WORDSin not a valid symbol in the latest tip.Regards,
Patch updated here: http://patchwork.ozlabs.org/patch/87722/
Can this be top posted?
Regards,
Anthony Liguori
Quoted 4 lines · Wen Congyang
This patch fix the following regression:
1. we should usebitmap_set()andbitmap_clear()to replacevnc_set_bits().Signed-off-by Wen Congyang<[email protected]>
Applied (version that used VNC_DIRTY_BITS). Thanks.
Regards,
Anthony Liguori
Quoted 32 lines
--- ui/vnc.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-)ui/vnc.c +6
-2@@ -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); } } }