From 383dfe23f1641435c0713f8a56424814a156af8e Mon Sep 17 00:00:00 2001 From: Pauli Nieminen Date: Mon, 25 Oct 2010 17:13:57 +0300 Subject: [PATCH] DRI2: Avoid call to NULL pointer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DDX driver may implement schedule swap without GetMSC. In that case we can't call GetMSC in DRI2SwapBuffers. Signed-off-by: Pauli Nieminen Reviewed-by: Mario Kleiner CC: Keith Packard CC: Kristian Høgsberg Reviewed-by: Jesse Barnes Signed-off-by: Keith Packard --- hw/xfree86/dri2/dri2.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c index 34f735f52..e4693d92e 100644 --- a/hw/xfree86/dri2/dri2.c +++ b/hw/xfree86/dri2/dri2.c @@ -828,11 +828,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, ¤t_msc)) - pPriv->last_swap_target = 0; + if (ds->GetMSC) { + if (!(*ds->GetMSC)(pDraw, &ust, ¤t_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