mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-05-24 13:38:11 +02:00
Merge branch 'compRepaintBorder' into 'master'
WIP: composite: Remove silly indirection around compRepaintBorder See merge request xorg/xserver!58
This commit is contained in:
commit
e86d47101e
1 changed files with 7 additions and 14 deletions
|
|
@ -103,19 +103,13 @@ typedef struct _compPixmapVisit {
|
|||
static Bool
|
||||
compRepaintBorder(ClientPtr pClient, void *closure)
|
||||
{
|
||||
WindowPtr pWindow;
|
||||
int rc =
|
||||
dixLookupWindow(&pWindow, (XID) (intptr_t) closure, pClient,
|
||||
DixWriteAccess);
|
||||
WindowPtr pWindow = closure;
|
||||
RegionRec exposed;
|
||||
|
||||
if (rc == Success) {
|
||||
RegionRec exposed;
|
||||
|
||||
RegionNull(&exposed);
|
||||
RegionSubtract(&exposed, &pWindow->borderClip, &pWindow->winSize);
|
||||
pWindow->drawable.pScreen->PaintWindow(pWindow, &exposed, PW_BORDER);
|
||||
RegionUninit(&exposed);
|
||||
}
|
||||
RegionNull(&exposed);
|
||||
RegionSubtract(&exposed, &pWindow->borderClip, &pWindow->winSize);
|
||||
pWindow->drawable.pScreen->PaintWindow(pWindow, &exposed, PW_BORDER);
|
||||
RegionUninit(&exposed);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
@ -136,8 +130,7 @@ compSetPixmapVisitWindow(WindowPtr pWindow, void *data)
|
|||
SetWinSize(pWindow);
|
||||
SetBorderSize(pWindow);
|
||||
if (pVisit->bw)
|
||||
QueueWorkProc(compRepaintBorder, serverClient,
|
||||
(void *) (intptr_t) pWindow->drawable.id);
|
||||
QueueWorkProc(compRepaintBorder, serverClient, pWindow);
|
||||
return WT_WALKCHILDREN;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue