From d2ae79d77679ccfc02ef5b8e42c16d398d874464 Mon Sep 17 00:00:00 2001 From: marha Date: Wed, 26 May 2010 07:52:44 +0000 Subject: xserver git update 26/5/2010 --- xorg-server/mi/midispcur.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'xorg-server/mi') diff --git a/xorg-server/mi/midispcur.c b/xorg-server/mi/midispcur.c index 8b26765a8..d56080488 100644 --- a/xorg-server/mi/midispcur.c +++ b/xorg-server/mi/midispcur.c @@ -141,6 +141,7 @@ miDCRealizeCursor (ScreenPtr pScreen, CursorPtr pCursor) } #ifdef ARGB_CURSOR +#define EnsurePicture(picture,draw,win) (picture || miDCMakePicture(&picture,draw,win)) static VisualPtr miDCGetWindowVisual (WindowPtr pWin) @@ -413,6 +414,8 @@ miDCPutUpCursor (DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor, #ifdef ARGB_CURSOR if (pPriv->pPicture) { + if (!EnsurePicture(pBuffer->pRootPicture, &pWin->drawable, pWin)) + return FALSE; CompositePicture (PictOpOver, pPriv->pPicture, NULL, @@ -695,9 +698,8 @@ miDCMoveCursor (DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor, #ifdef ARGB_CURSOR if (pPriv->pPicture) { - if (!pBuffer->pTempPicture) - miDCMakePicture(&pBuffer->pTempPicture, &pTemp->drawable, pWin); - + if (!EnsurePicture(pBuffer->pTempPicture, &pTemp->drawable, pWin)) + return FALSE; CompositePicture (PictOpOver, pPriv->pPicture, NULL, @@ -781,10 +783,7 @@ miDCDeviceInitialize(DeviceIntPtr pDev, ScreenPtr pScreen) goto failure; #ifdef ARGB_CURSOR - miDCMakePicture(&pBuffer->pRootPicture, &pWin->drawable, pWin); - if (!pBuffer->pRootPicture) - goto failure; - + pBuffer->pRootPicture = NULL; pBuffer->pTempPicture = NULL; #endif -- cgit v1.2.3