[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 5/5] vnc: move size-changed check into the vnc_deskt
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PATCH 5/5] vnc: move size-changed check into the vnc_desktop_resize function. |
Date: |
Tue, 25 May 2010 18:25:20 +0200 |
This make sure we send a desktop resize message only in case we actually
have to, using the new variables which track the clients desktop size.
Signed-off-by: Gerd Hoffmann <address@hidden>
---
vnc.c | 11 +++++------
1 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/vnc.c b/vnc.c
index 119ffe8..5715006 100644
--- a/vnc.c
+++ b/vnc.c
@@ -521,6 +521,10 @@ static void vnc_desktop_resize(VncState *vs)
if (vs->csock == -1 || !vnc_has_feature(vs, VNC_FEATURE_RESIZE)) {
return;
}
+ if (vs->client_width == ds_get_width(ds) &&
+ vs->client_height == ds_get_height(ds)) {
+ return;
+ }
vs->client_width = ds_get_width(ds);
vs->client_height = ds_get_height(ds);
vnc_write_u8(vs, VNC_MSG_SERVER_FRAMEBUFFER_UPDATE);
@@ -533,7 +537,6 @@ static void vnc_desktop_resize(VncState *vs)
static void vnc_dpy_resize(DisplayState *ds)
{
- int size_changed;
VncDisplay *vd = ds->opaque;
VncState *vs;
@@ -551,16 +554,12 @@ static void vnc_dpy_resize(DisplayState *ds)
vd->guest.ds = qemu_mallocz(sizeof(*vd->guest.ds));
if (ds_get_bytes_per_pixel(ds) != vd->guest.ds->pf.bytes_per_pixel)
console_color_init(ds);
- size_changed = ds_get_width(ds) != vd->guest.ds->width ||
- ds_get_height(ds) != vd->guest.ds->height;
*(vd->guest.ds) = *(ds->surface);
memset(vd->guest.dirty, 0xFF, sizeof(vd->guest.dirty));
QTAILQ_FOREACH(vs, &vd->clients, next) {
vnc_colordepth(vs);
- if (size_changed) {
- vnc_desktop_resize(vs);
- }
+ vnc_desktop_resize(vs);
if (vs->vd->cursor) {
vnc_cursor_define(vs);
}
--
1.6.6.1
- [Qemu-devel] [PATCH 0/5] vnc: desktop size patches., Gerd Hoffmann, 2010/05/25
- [Qemu-devel] [PATCH 2/5] vnc: send desktopresize event as reply to set encodings, Gerd Hoffmann, 2010/05/25
- [Qemu-devel] [PATCH 1/5] vnc: factor out vnc_desktop_resize(), Gerd Hoffmann, 2010/05/25
- [Qemu-devel] [PATCH 4/5] vnc: don't send invalid screen updates., Gerd Hoffmann, 2010/05/25
- [Qemu-devel] [PATCH 3/5] vnc: keep track of client desktop size, Gerd Hoffmann, 2010/05/25
- [Qemu-devel] [PATCH 5/5] vnc: move size-changed check into the vnc_desktop_resize function.,
Gerd Hoffmann <=
- Re: [Qemu-devel] [PATCH 0/5] vnc: desktop size patches., Daniel P. Berrange, 2010/05/26