Revision 23bfe28f ui/vnc.c
b/ui/vnc.c | ||
---|---|---|
2383 | 2383 |
uint8_t *guest_row; |
2384 | 2384 |
uint8_t *server_row; |
2385 | 2385 |
int cmp_bytes; |
2386 |
unsigned long width_mask[VNC_DIRTY_WORDS]; |
|
2387 | 2386 |
VncState *vs; |
2388 | 2387 |
int has_dirty = 0; |
2389 | 2388 |
|
... | ... | |
2399 | 2398 |
* Check and copy modified bits from guest to server surface. |
2400 | 2399 |
* Update server dirty map. |
2401 | 2400 |
*/ |
2402 |
bitmap_set(width_mask, 0, (ds_get_width(vd->ds) / 16)); |
|
2403 |
bitmap_clear(width_mask, (ds_get_width(vd->ds) / 16), |
|
2404 |
VNC_DIRTY_WORDS * BITS_PER_LONG); |
|
2405 | 2401 |
cmp_bytes = 16 * ds_get_bytes_per_pixel(vd->ds); |
2406 | 2402 |
guest_row = vd->guest.ds->data; |
2407 | 2403 |
server_row = vd->server->data; |
2408 | 2404 |
for (y = 0; y < vd->guest.ds->height; y++) { |
2409 |
if (bitmap_intersects(vd->guest.dirty[y], width_mask, VNC_DIRTY_WORDS)) {
|
|
2405 |
if (!bitmap_empty(vd->guest.dirty[y], VNC_DIRTY_BITS)) {
|
|
2410 | 2406 |
int x; |
2411 | 2407 |
uint8_t *guest_ptr; |
2412 | 2408 |
uint8_t *server_ptr; |
Also available in: Unified diff