Skip to content

Commit

Permalink
qxl: zap qxl0 global
Browse files Browse the repository at this point in the history
DisplayChangeListener is passed now to all DisplayChangeListenerOps
callbacks, so we can use that to access the qxl state and kill the
qxl0 global variable.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
  • Loading branch information
kraxel committed Mar 18, 2013
1 parent 9c80a31 commit c6c0685
Showing 1 changed file with 15 additions and 13 deletions.
28 changes: 15 additions & 13 deletions hw/qxl.c
Expand Up @@ -118,8 +118,6 @@ static QXLMode qxl_modes[] = {
QXL_MODE_EX(3200, 2400),
};

static PCIQXLDevice *qxl0;

static void qxl_send_events(PCIQXLDevice *d, uint32_t events);
static int qxl_destroy_primary(PCIQXLDevice *d, qxl_async_io async);
static void qxl_reset_memslots(PCIQXLDevice *d);
Expand Down Expand Up @@ -1870,28 +1868,34 @@ static void display_update(DisplayChangeListener *dcl,
struct DisplayState *ds,
int x, int y, int w, int h)
{
if (qxl0->mode == QXL_MODE_VGA) {
qemu_spice_display_update(&qxl0->ssd, x, y, w, h);
PCIQXLDevice *qxl = container_of(dcl, PCIQXLDevice, ssd.dcl);

if (qxl->mode == QXL_MODE_VGA) {
qemu_spice_display_update(&qxl->ssd, x, y, w, h);
}
}

static void display_resize(DisplayChangeListener *dcl,
struct DisplayState *ds)
{
if (qxl0->mode == QXL_MODE_VGA) {
qemu_spice_display_resize(&qxl0->ssd);
PCIQXLDevice *qxl = container_of(dcl, PCIQXLDevice, ssd.dcl);

if (qxl->mode == QXL_MODE_VGA) {
qemu_spice_display_resize(&qxl->ssd);
}
}

static void display_refresh(DisplayChangeListener *dcl,
struct DisplayState *ds)
{
if (qxl0->mode == QXL_MODE_VGA) {
qemu_spice_display_refresh(&qxl0->ssd);
PCIQXLDevice *qxl = container_of(dcl, PCIQXLDevice, ssd.dcl);

if (qxl->mode == QXL_MODE_VGA) {
qemu_spice_display_refresh(&qxl->ssd);
} else {
qemu_mutex_lock(&qxl0->ssd.lock);
qemu_spice_cursor_refresh_unlocked(&qxl0->ssd);
qemu_mutex_unlock(&qxl0->ssd.lock);
qemu_mutex_lock(&qxl->ssd.lock);
qemu_spice_cursor_refresh_unlocked(&qxl->ssd);
qemu_mutex_unlock(&qxl->ssd.lock);
}
}

Expand Down Expand Up @@ -2074,8 +2078,6 @@ static int qxl_init_primary(PCIDevice *dev)
qxl_hw_screen_dump, qxl_hw_text_update, qxl);
qemu_spice_display_init_common(&qxl->ssd, vga->ds);

qxl0 = qxl;

rc = qxl_init_common(qxl);
if (rc != 0) {
return rc;
Expand Down

0 comments on commit c6c0685

Please sign in to comment.