[PATCH 1/2] DRI2: Avoid call to NULL pointer

Mario Kleiner mario.kleiner at tuebingen.mpg.de
Wed Oct 6 15:42:36 PDT 2010


On Oct 6, 2010, at 1:05 PM, Pauli Nieminen wrote:

> DDX driver may implement schedule swap without GetMSC. In that case we
> can't call GetMSC in DRI2SwapBuffers.
>

I don't think this check is neccessary. Afaik if the ds->GetMSC entry  
point isn't defined then ds->ScheduleSwap isn't defined either, so  
the !ds->ScheduleSwap  check at the beginning of the routine triggers  
and the fallback path is taken, no?

-mario

> Signed-off-by: Pauli Nieminen <ext-pauli.nieminen at nokia.com>
> ---
>  hw/xfree86/dri2/dri2.c |   11 +++++++----
>  1 files changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c
> index 228c0e0..d9b9d57 100644
> --- a/hw/xfree86/dri2/dri2.c
> +++ b/hw/xfree86/dri2/dri2.c
> @@ -856,11 +856,14 @@ DRI2SwapBuffers(ClientPtr client, DrawablePtr  
> pDraw, CARD64 target_msc,
>  	 * is moved to a crtc with a lower refresh rate, or a crtc that just
>  	 * got enabled.
>  	 */
> -	if (!(*ds->GetMSC)(pDraw, &ust, &current_msc))
> -	    pPriv->last_swap_target = 0;
> +	if (ds->GetMSC) {
> +	    if (!(*ds->GetMSC)(pDraw, &ust, &current_msc))
> +		pPriv->last_swap_target = 0;
>
> -	if (current_msc < pPriv->last_swap_target)
> -	    pPriv->last_swap_target = current_msc;
> +	    if (current_msc < pPriv->last_swap_target)
> +		pPriv->last_swap_target = current_msc;
> +
> +	}
>
>  	/*
>  	 * Swap target for this swap is last swap target + swap interval  
> since
> -- 
> 1.7.0.4
>
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel

*********************************************************************
Mario Kleiner
Max Planck Institute for Biological Cybernetics
Spemannstr. 38
72076 Tuebingen
Germany

e-mail: mario.kleiner at tuebingen.mpg.de
office: +49 (0)7071/601-1623
fax:    +49 (0)7071/601-616
www:    http://www.kyb.tuebingen.mpg.de/~kleinerm
*********************************************************************
"For a successful technology, reality must take precedence
over public relations, for Nature cannot be fooled."
(Richard Feynman)



More information about the xorg-devel mailing list