[Qemu-devel] [PATCH] console: fix dpy_gfx_replace_surface assert

Gerd Hoffmann posted 1 patch 6 years, 6 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20170906142109.2685-1-kraxel@redhat.com
Test checkpatch passed
Test docker passed
Test s390x passed
ui/console.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[Qemu-devel] [PATCH] console: fix dpy_gfx_replace_surface assert
Posted by Gerd Hoffmann 6 years, 6 months ago
virtio-gpu can trigger the assert added by commit "6905b93447 console:
add same surface replace pre-condition" in multihead setups (where
surface can be NULL for secondary displays).  Allow surface being NULL.

Fixes: 6905b93447a42e606dfd126b90f75f4cd3c6fe94
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 ui/console.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ui/console.c b/ui/console.c
index d2d3534c49..f0292d7820 100644
--- a/ui/console.c
+++ b/ui/console.c
@@ -1540,7 +1540,7 @@ void dpy_gfx_replace_surface(QemuConsole *con,
     DisplaySurface *old_surface = con->surface;
     DisplayChangeListener *dcl;
 
-    assert(old_surface != surface);
+    assert(old_surface != surface || surface == NULL);
 
     con->surface = surface;
     QLIST_FOREACH(dcl, &s->listeners, next) {
-- 
2.9.3


Re: [Qemu-devel] [PATCH] console: fix dpy_gfx_replace_surface assert
Posted by Marc-André Lureau 6 years, 6 months ago
On Wed, Sep 6, 2017 at 4:21 PM, Gerd Hoffmann <kraxel@redhat.com> wrote:
> virtio-gpu can trigger the assert added by commit "6905b93447 console:
> add same surface replace pre-condition" in multihead setups (where
> surface can be NULL for secondary displays).  Allow surface being NULL.
>
> Fixes: 6905b93447a42e606dfd126b90f75f4cd3c6fe94
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

oops
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>



> ---
>  ui/console.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/ui/console.c b/ui/console.c
> index d2d3534c49..f0292d7820 100644
> --- a/ui/console.c
> +++ b/ui/console.c
> @@ -1540,7 +1540,7 @@ void dpy_gfx_replace_surface(QemuConsole *con,
>      DisplaySurface *old_surface = con->surface;
>      DisplayChangeListener *dcl;
>
> -    assert(old_surface != surface);
> +    assert(old_surface != surface || surface == NULL);
>
>      con->surface = surface;
>      QLIST_FOREACH(dcl, &s->listeners, next) {
> --
> 2.9.3
>
>



-- 
Marc-André Lureau