misprite: Do window check first for Get{Image,Spans} too
This commit is contained in:
parent
8beced6c02
commit
2c000f4980
|
@ -329,15 +329,15 @@ miSpriteGetImage (DrawablePtr pDrawable, int sx, int sy, int w, int h,
|
||||||
|
|
||||||
SCREEN_PROLOGUE (pScreen, GetImage);
|
SCREEN_PROLOGUE (pScreen, GetImage);
|
||||||
|
|
||||||
pScreenPriv = dixLookupPrivate(&pScreen->devPrivates, miSpriteScreenKey);
|
if (pDrawable->type == DRAWABLE_WINDOW)
|
||||||
|
{
|
||||||
|
pScreenPriv = dixLookupPrivate(&pScreen->devPrivates,miSpriteScreenKey);
|
||||||
for(pDev = inputInfo.devices; pDev; pDev = pDev->next)
|
for(pDev = inputInfo.devices; pDev; pDev = pDev->next)
|
||||||
{
|
{
|
||||||
if (DevHasCursor(pDev))
|
if (DevHasCursor(pDev))
|
||||||
{
|
{
|
||||||
pCursorInfo = MISPRITE(pDev);
|
pCursorInfo = MISPRITE(pDev);
|
||||||
if (pDrawable->type == DRAWABLE_WINDOW &&
|
if (pCursorInfo->isUp && pCursorInfo->pScreen == pScreen &&
|
||||||
pCursorInfo->isUp &&
|
|
||||||
pCursorInfo->pScreen == pScreen &&
|
|
||||||
ORG_OVERLAP(&pCursorInfo->saved,pDrawable->x,pDrawable->y,
|
ORG_OVERLAP(&pCursorInfo->saved,pDrawable->x,pDrawable->y,
|
||||||
sx, sy, w, h))
|
sx, sy, w, h))
|
||||||
{
|
{
|
||||||
|
@ -346,6 +346,7 @@ miSpriteGetImage (DrawablePtr pDrawable, int sx, int sy, int w, int h,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
(*pScreen->GetImage) (pDrawable, sx, sy, w, h,
|
(*pScreen->GetImage) (pDrawable, sx, sy, w, h,
|
||||||
format, planemask, pdstLine);
|
format, planemask, pdstLine);
|
||||||
|
@ -364,7 +365,9 @@ miSpriteGetSpans (DrawablePtr pDrawable, int wMax, DDXPointPtr ppt,
|
||||||
|
|
||||||
SCREEN_PROLOGUE (pScreen, GetSpans);
|
SCREEN_PROLOGUE (pScreen, GetSpans);
|
||||||
|
|
||||||
pScreenPriv = dixLookupPrivate(&pScreen->devPrivates, miSpriteScreenKey);
|
if (pDrawable->type == DRAWABLE_WINDOW)
|
||||||
|
{
|
||||||
|
pScreenPriv = dixLookupPrivate(&pScreen->devPrivates,miSpriteScreenKey);
|
||||||
|
|
||||||
for(pDev = inputInfo.devices; pDev; pDev = pDev->next)
|
for(pDev = inputInfo.devices; pDev; pDev = pDev->next)
|
||||||
{
|
{
|
||||||
|
@ -372,9 +375,7 @@ miSpriteGetSpans (DrawablePtr pDrawable, int wMax, DDXPointPtr ppt,
|
||||||
{
|
{
|
||||||
pCursorInfo = MISPRITE(pDev);
|
pCursorInfo = MISPRITE(pDev);
|
||||||
|
|
||||||
if (pDrawable->type == DRAWABLE_WINDOW &&
|
if (pCursorInfo->isUp && pCursorInfo->pScreen == pScreen)
|
||||||
pCursorInfo->isUp &&
|
|
||||||
pCursorInfo->pScreen == pScreen)
|
|
||||||
{
|
{
|
||||||
DDXPointPtr pts;
|
DDXPointPtr pts;
|
||||||
int *widths;
|
int *widths;
|
||||||
|
@ -400,6 +401,7 @@ miSpriteGetSpans (DrawablePtr pDrawable, int wMax, DDXPointPtr ppt,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
(*pScreen->GetSpans) (pDrawable, wMax, ppt, pwidth, nspans, pdstStart);
|
(*pScreen->GetSpans) (pDrawable, wMax, ppt, pwidth, nspans, pdstStart);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue