mark drawable as dirty on copying/painting windows

This commit is contained in:
Zack Rusin 2005-07-08 17:07:52 +00:00
parent 4ab73a73f4
commit e84648df7d
6 changed files with 210 additions and 264 deletions

View File

@ -1008,6 +1008,7 @@ exaCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
if (!pScrn->vtSema) { if (!pScrn->vtSema) {
ExaScreenPriv(pWin->drawable.pScreen); ExaScreenPriv(pWin->drawable.pScreen);
pExaScr->SavedCopyWindow (pWin, ptOldOrg, prgnSrc); pExaScr->SavedCopyWindow (pWin, ptOldOrg, prgnSrc);
exaDrawableDirty (&pWin->drawable);
return; return;
} }
@ -1071,23 +1072,12 @@ static void
exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what) exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
{ {
ScrnInfoPtr pScrn = XF86SCRNINFO(pWin->drawable.pScreen); ScrnInfoPtr pScrn = XF86SCRNINFO(pWin->drawable.pScreen);
ExaScreenPriv(pWin->drawable.pScreen);
if (!pScrn->vtSema) {
switch (what) {
case PW_BACKGROUND:
pExaScr->SavedPaintWindowBackground(pWin, pRegion, what);
break;
case PW_BORDER:
pExaScr->SavedPaintWindowBorder(pWin, pRegion, what);
break;
}
return;
}
STRACE; STRACE;
if (!REGION_NUM_RECTS(pRegion)) if (!REGION_NUM_RECTS(pRegion))
return; return;
if (pScrn->vtSema) {
switch (what) { switch (what) {
case PW_BACKGROUND: case PW_BACKGROUND:
switch (pWin->backgroundState) { switch (pWin->backgroundState) {
@ -1125,6 +1115,7 @@ exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
#endif #endif
break; break;
} }
}
ExaCheckPaintWindow (pWin, pRegion, what); ExaCheckPaintWindow (pWin, pRegion, what);
} }

View File

@ -1008,6 +1008,7 @@ exaCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
if (!pScrn->vtSema) { if (!pScrn->vtSema) {
ExaScreenPriv(pWin->drawable.pScreen); ExaScreenPriv(pWin->drawable.pScreen);
pExaScr->SavedCopyWindow (pWin, ptOldOrg, prgnSrc); pExaScr->SavedCopyWindow (pWin, ptOldOrg, prgnSrc);
exaDrawableDirty (&pWin->drawable);
return; return;
} }
@ -1071,23 +1072,12 @@ static void
exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what) exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
{ {
ScrnInfoPtr pScrn = XF86SCRNINFO(pWin->drawable.pScreen); ScrnInfoPtr pScrn = XF86SCRNINFO(pWin->drawable.pScreen);
ExaScreenPriv(pWin->drawable.pScreen);
if (!pScrn->vtSema) {
switch (what) {
case PW_BACKGROUND:
pExaScr->SavedPaintWindowBackground(pWin, pRegion, what);
break;
case PW_BORDER:
pExaScr->SavedPaintWindowBorder(pWin, pRegion, what);
break;
}
return;
}
STRACE; STRACE;
if (!REGION_NUM_RECTS(pRegion)) if (!REGION_NUM_RECTS(pRegion))
return; return;
if (pScrn->vtSema) {
switch (what) { switch (what) {
case PW_BACKGROUND: case PW_BACKGROUND:
switch (pWin->backgroundState) { switch (pWin->backgroundState) {
@ -1125,6 +1115,7 @@ exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
#endif #endif
break; break;
} }
}
ExaCheckPaintWindow (pWin, pRegion, what); ExaCheckPaintWindow (pWin, pRegion, what);
} }

View File

@ -1008,6 +1008,7 @@ exaCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
if (!pScrn->vtSema) { if (!pScrn->vtSema) {
ExaScreenPriv(pWin->drawable.pScreen); ExaScreenPriv(pWin->drawable.pScreen);
pExaScr->SavedCopyWindow (pWin, ptOldOrg, prgnSrc); pExaScr->SavedCopyWindow (pWin, ptOldOrg, prgnSrc);
exaDrawableDirty (&pWin->drawable);
return; return;
} }
@ -1071,23 +1072,12 @@ static void
exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what) exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
{ {
ScrnInfoPtr pScrn = XF86SCRNINFO(pWin->drawable.pScreen); ScrnInfoPtr pScrn = XF86SCRNINFO(pWin->drawable.pScreen);
ExaScreenPriv(pWin->drawable.pScreen);
if (!pScrn->vtSema) {
switch (what) {
case PW_BACKGROUND:
pExaScr->SavedPaintWindowBackground(pWin, pRegion, what);
break;
case PW_BORDER:
pExaScr->SavedPaintWindowBorder(pWin, pRegion, what);
break;
}
return;
}
STRACE; STRACE;
if (!REGION_NUM_RECTS(pRegion)) if (!REGION_NUM_RECTS(pRegion))
return; return;
if (pScrn->vtSema) {
switch (what) { switch (what) {
case PW_BACKGROUND: case PW_BACKGROUND:
switch (pWin->backgroundState) { switch (pWin->backgroundState) {
@ -1125,6 +1115,7 @@ exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
#endif #endif
break; break;
} }
}
ExaCheckPaintWindow (pWin, pRegion, what); ExaCheckPaintWindow (pWin, pRegion, what);
} }

View File

@ -1008,6 +1008,7 @@ exaCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
if (!pScrn->vtSema) { if (!pScrn->vtSema) {
ExaScreenPriv(pWin->drawable.pScreen); ExaScreenPriv(pWin->drawable.pScreen);
pExaScr->SavedCopyWindow (pWin, ptOldOrg, prgnSrc); pExaScr->SavedCopyWindow (pWin, ptOldOrg, prgnSrc);
exaDrawableDirty (&pWin->drawable);
return; return;
} }
@ -1071,23 +1072,12 @@ static void
exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what) exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
{ {
ScrnInfoPtr pScrn = XF86SCRNINFO(pWin->drawable.pScreen); ScrnInfoPtr pScrn = XF86SCRNINFO(pWin->drawable.pScreen);
ExaScreenPriv(pWin->drawable.pScreen);
if (!pScrn->vtSema) {
switch (what) {
case PW_BACKGROUND:
pExaScr->SavedPaintWindowBackground(pWin, pRegion, what);
break;
case PW_BORDER:
pExaScr->SavedPaintWindowBorder(pWin, pRegion, what);
break;
}
return;
}
STRACE; STRACE;
if (!REGION_NUM_RECTS(pRegion)) if (!REGION_NUM_RECTS(pRegion))
return; return;
if (pScrn->vtSema) {
switch (what) { switch (what) {
case PW_BACKGROUND: case PW_BACKGROUND:
switch (pWin->backgroundState) { switch (pWin->backgroundState) {
@ -1125,6 +1115,7 @@ exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
#endif #endif
break; break;
} }
}
ExaCheckPaintWindow (pWin, pRegion, what); ExaCheckPaintWindow (pWin, pRegion, what);
} }

View File

@ -1008,6 +1008,7 @@ exaCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
if (!pScrn->vtSema) { if (!pScrn->vtSema) {
ExaScreenPriv(pWin->drawable.pScreen); ExaScreenPriv(pWin->drawable.pScreen);
pExaScr->SavedCopyWindow (pWin, ptOldOrg, prgnSrc); pExaScr->SavedCopyWindow (pWin, ptOldOrg, prgnSrc);
exaDrawableDirty (&pWin->drawable);
return; return;
} }
@ -1071,23 +1072,12 @@ static void
exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what) exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
{ {
ScrnInfoPtr pScrn = XF86SCRNINFO(pWin->drawable.pScreen); ScrnInfoPtr pScrn = XF86SCRNINFO(pWin->drawable.pScreen);
ExaScreenPriv(pWin->drawable.pScreen);
if (!pScrn->vtSema) {
switch (what) {
case PW_BACKGROUND:
pExaScr->SavedPaintWindowBackground(pWin, pRegion, what);
break;
case PW_BORDER:
pExaScr->SavedPaintWindowBorder(pWin, pRegion, what);
break;
}
return;
}
STRACE; STRACE;
if (!REGION_NUM_RECTS(pRegion)) if (!REGION_NUM_RECTS(pRegion))
return; return;
if (pScrn->vtSema) {
switch (what) { switch (what) {
case PW_BACKGROUND: case PW_BACKGROUND:
switch (pWin->backgroundState) { switch (pWin->backgroundState) {
@ -1125,6 +1115,7 @@ exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
#endif #endif
break; break;
} }
}
ExaCheckPaintWindow (pWin, pRegion, what); ExaCheckPaintWindow (pWin, pRegion, what);
} }

View File

@ -1008,6 +1008,7 @@ exaCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
if (!pScrn->vtSema) { if (!pScrn->vtSema) {
ExaScreenPriv(pWin->drawable.pScreen); ExaScreenPriv(pWin->drawable.pScreen);
pExaScr->SavedCopyWindow (pWin, ptOldOrg, prgnSrc); pExaScr->SavedCopyWindow (pWin, ptOldOrg, prgnSrc);
exaDrawableDirty (&pWin->drawable);
return; return;
} }
@ -1071,23 +1072,12 @@ static void
exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what) exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
{ {
ScrnInfoPtr pScrn = XF86SCRNINFO(pWin->drawable.pScreen); ScrnInfoPtr pScrn = XF86SCRNINFO(pWin->drawable.pScreen);
ExaScreenPriv(pWin->drawable.pScreen);
if (!pScrn->vtSema) {
switch (what) {
case PW_BACKGROUND:
pExaScr->SavedPaintWindowBackground(pWin, pRegion, what);
break;
case PW_BORDER:
pExaScr->SavedPaintWindowBorder(pWin, pRegion, what);
break;
}
return;
}
STRACE; STRACE;
if (!REGION_NUM_RECTS(pRegion)) if (!REGION_NUM_RECTS(pRegion))
return; return;
if (pScrn->vtSema) {
switch (what) { switch (what) {
case PW_BACKGROUND: case PW_BACKGROUND:
switch (pWin->backgroundState) { switch (pWin->backgroundState) {
@ -1125,6 +1115,7 @@ exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
#endif #endif
break; break;
} }
}
ExaCheckPaintWindow (pWin, pRegion, what); ExaCheckPaintWindow (pWin, pRegion, what);
} }