diff options
author | marha <marha@users.sourceforge.net> | 2010-05-26 07:52:44 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2010-05-26 07:52:44 +0000 |
commit | d2ae79d77679ccfc02ef5b8e42c16d398d874464 (patch) | |
tree | 1d566cb7bc73279e52671d2529bff1905148a32b /xorg-server/mi/midispcur.c | |
parent | 74fa9a70a4817660f1c2ec3b3cc2bbe56db4fc58 (diff) | |
download | vcxsrv-d2ae79d77679ccfc02ef5b8e42c16d398d874464.tar.gz vcxsrv-d2ae79d77679ccfc02ef5b8e42c16d398d874464.tar.bz2 vcxsrv-d2ae79d77679ccfc02ef5b8e42c16d398d874464.zip |
xserver git update 26/5/2010
Diffstat (limited to 'xorg-server/mi/midispcur.c')
-rw-r--r-- | xorg-server/mi/midispcur.c | 13 |
1 files changed, 6 insertions, 7 deletions
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
|