On Mon, Jul 10, 2017 at 9:06 AM Gerd Hoffmann <kra...@redhat.com> wrote:
> If the cursor resource id isn't set the guest didn't define a cursor. > Skip the cursor update in post_load in that that case. > update_cursor() deals with resource_id == 0 already, but it also update the cursor position. What's the issue calling update_cursor() here? > Reported-by: wanghaibin <wanghaibin.w...@huawei.com> > Signed-off-by: Gerd Hoffmann <kra...@redhat.com> > --- > hw/display/virtio-gpu.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c > index 58dc0b2737..eef11083d7 100644 > --- a/hw/display/virtio-gpu.c > +++ b/hw/display/virtio-gpu.c > @@ -1092,7 +1092,9 @@ static int virtio_gpu_load(QEMUFile *f, void > *opaque, size_t size, > > dpy_gfx_replace_surface(scanout->con, scanout->ds); > dpy_gfx_update(scanout->con, 0, 0, scanout->width, > scanout->height); > - update_cursor(g, &scanout->cursor); > + if (scanout->cursor.resource_id) { > + update_cursor(g, &scanout->cursor); > + } > res->scanout_bitmask |= (1 << i); > } > > -- > 2.9.3 > > > -- Marc-André Lureau