Xext: Fix cursor reference counting hazard.
Make sure the reference count of the new cursor is increased before the old one is decreased, otherwise bad things will happen if they're one and the same and the reference count is 1 initially. Not sure this can actually happen here, but better safe than sorry. Signed-off-by: Michel Dänzer <daenzer@vmware.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
b29220dc76
commit
3083c5d0c4
|
@ -620,10 +620,10 @@ CreateSaverWindow (ScreenPtr pScreen)
|
|||
FreeResource (pWin->drawable.id, RT_NONE);
|
||||
return FALSE;
|
||||
}
|
||||
pAttr->pCursor->refcnt++;
|
||||
if (pWin->optional->cursor)
|
||||
FreeCursor (pWin->optional->cursor, (Cursor)0);
|
||||
pWin->optional->cursor = pAttr->pCursor;
|
||||
pAttr->pCursor->refcnt++;
|
||||
pWin->cursorIsNone = FALSE;
|
||||
CheckWindowOptionalNeed (pWin);
|
||||
mask |= CWCursor;
|
||||
|
|
Loading…
Reference in New Issue