On Sun, 2011-05-01 at 23:49 +0200, Marcin Slusarz wrote:
> When xorg state tracker wants to hide the cursor it calls set_cursor
> with NULL buffer_handle and size=0x0, but nouveau refuses to hide it
> because size is not 64x64... which is a bit odd. Both radeon and intel
> check buffer_handle before validating size of cursor, so make nouveau
> implementation consistent with them.
Pushed, thanks.

> 
> Signed-off-by: Marcin Slusarz <[email protected]>
> ---
>  drivers/gpu/drm/nouveau/nv04_crtc.c |    6 +++---
>  drivers/gpu/drm/nouveau/nv50_crtc.c |    6 +++---
>  2 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/nouveau/nv04_crtc.c 
> b/drivers/gpu/drm/nouveau/nv04_crtc.c
> index cc3cd17..3c78bc8 100644
> --- a/drivers/gpu/drm/nouveau/nv04_crtc.c
> +++ b/drivers/gpu/drm/nouveau/nv04_crtc.c
> @@ -943,14 +943,14 @@ nv04_crtc_cursor_set(struct drm_crtc *crtc, struct 
> drm_file *file_priv,
>       struct drm_gem_object *gem;
>       int ret = 0;
>  
> -     if (width != 64 || height != 64)
> -             return -EINVAL;
> -
>       if (!buffer_handle) {
>               nv_crtc->cursor.hide(nv_crtc, true);
>               return 0;
>       }
>  
> +     if (width != 64 || height != 64)
> +             return -EINVAL;
> +
>       gem = drm_gem_object_lookup(dev, file_priv, buffer_handle);
>       if (!gem)
>               return -ENOENT;
> diff --git a/drivers/gpu/drm/nouveau/nv50_crtc.c 
> b/drivers/gpu/drm/nouveau/nv50_crtc.c
> index e900a51..75ad2dc 100644
> --- a/drivers/gpu/drm/nouveau/nv50_crtc.c
> +++ b/drivers/gpu/drm/nouveau/nv50_crtc.c
> @@ -349,14 +349,14 @@ nv50_crtc_cursor_set(struct drm_crtc *crtc, struct 
> drm_file *file_priv,
>       struct drm_gem_object *gem;
>       int ret = 0, i;
>  
> -     if (width != 64 || height != 64)
> -             return -EINVAL;
> -
>       if (!buffer_handle) {
>               nv_crtc->cursor.hide(nv_crtc, true);
>               return 0;
>       }
>  
> +     if (width != 64 || height != 64)
> +             return -EINVAL;
> +
>       gem = drm_gem_object_lookup(dev, file_priv, buffer_handle);
>       if (!gem)
>               return -ENOENT;


_______________________________________________
Nouveau mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/nouveau

Reply via email to