static void vnc_dpy_resize(DisplayState *ds)

{

    int size_changed;

    VncDisplay *vd = ds->opaque;

    VncState *vs;



    /* server surface */

    if (!vd->server)

        vd->server = qemu_mallocz(sizeof(*vd->server));

    if (vd->server->data)

        qemu_free(vd->server->data);

    *(vd->server) = *(ds->surface);

    vd->server->data = qemu_mallocz(vd->server->linesize *

                                    vd->server->height);



    /* guest surface */

    if (!vd->guest.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);

        }

        if (vs->vd->cursor) {

            vnc_cursor_define(vs);

        }

        memset(vs->dirty, 0xFF, sizeof(vs->dirty));

    }

}

static void vnc_dpy_resize(DisplayState *ds)

{

    int size_changed;

    VncDisplay *vd = ds->opaque;

    VncState *vs;



    

    if (!vd->server)

        vd->server = qemu_mallocz(sizeof(*vd->server));

    if (vd->server->data)

        qemu_free(vd->server->data);

    *(vd->server) = *(ds->surface);

    vd->server->data = qemu_mallocz(vd->server->linesize *

                                    vd->server->height);



    

    if (!vd->guest.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);

        }

        if (vs->vd->cursor) {

            vnc_cursor_define(vs);

        }

        memset(vs->dirty, 0xFF, sizeof(vs->dirty));

    }

}

static void FUNC_0(DisplayState *VAR_0)

{

    int VAR_1;

    VncDisplay *vd = VAR_0->opaque;

    VncState *vs;



    

    if (!vd->server)

        vd->server = qemu_mallocz(sizeof(*vd->server));

    if (vd->server->data)

        qemu_free(vd->server->data);

    *(vd->server) = *(VAR_0->surface);

    vd->server->data = qemu_mallocz(vd->server->linesize *

                                    vd->server->height);



    

    if (!vd->guest.VAR_0)

        vd->guest.VAR_0 = qemu_mallocz(sizeof(*vd->guest.VAR_0));

    if (ds_get_bytes_per_pixel(VAR_0) != vd->guest.VAR_0->pf.bytes_per_pixel)

        console_color_init(VAR_0);

    VAR_1 = ds_get_width(VAR_0) != vd->guest.VAR_0->width ||

                   ds_get_height(VAR_0) != vd->guest.VAR_0->height;

    *(vd->guest.VAR_0) = *(VAR_0->surface);

    memset(vd->guest.dirty, 0xFF, sizeof(vd->guest.dirty));



    QTAILQ_FOREACH(vs, &vd->clients, next) {

        vnc_colordepth(vs);

        if (VAR_1) {

            vnc_desktop_resize(vs);

        }

        if (vs->vd->cursor) {

            vnc_cursor_define(vs);

        }

        memset(vs->dirty, 0xFF, sizeof(vs->dirty));

    }

}

static void FUNC_0(DisplayState *VAR_0)
{ int VAR_1; VncDisplay *vd = VAR_0->opaque; VncState *vs; if (!vd->server)
vd->server = qemu_mallocz(sizeof(*vd->server)); if (vd->server->data)
qemu_free(vd->server->data); *(vd->server) = *(VAR_0->surface); vd->server->data = qemu_mallocz(vd->server->linesize *
vd->server->height); if (!vd->guest.VAR_0)
vd->guest.VAR_0 = qemu_mallocz(sizeof(*vd->guest.VAR_0)); if (ds_get_bytes_per_pixel(VAR_0) != vd->guest.VAR_0->pf.bytes_per_pixel)
console_color_init(VAR_0); VAR_1 = ds_get_width(VAR_0) != vd->guest.VAR_0->width ||
ds_get_height(VAR_0) != vd->guest.VAR_0->height; *(vd->guest.VAR_0) = *(VAR_0->surface); memset(vd->guest.dirty, 0xFF, sizeof(vd->guest.dirty)); QTAILQ_FOREACH(vs, &vd->clients, next) { vnc_colordepth(vs); if (VAR_1) { vnc_desktop_resize(vs); } if (vs->vd->cursor) { vnc_cursor_define(vs); } memset(vs->dirty, 0xFF, sizeof(vs->dirty)); } }