sync code with last improvements from OpenBSD
This commit is contained in:
parent
e1ec829e63
commit
68fa196282
30 changed files with 268 additions and 1060 deletions
|
@ -397,8 +397,21 @@ miPointerWarpCursor(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y)
|
|||
#ifdef PANORAMIX
|
||||
&& noPanoramiXExtension
|
||||
#endif
|
||||
)
|
||||
UpdateSpriteForScreen(pDev, pScreen);
|
||||
) {
|
||||
DeviceIntPtr master = GetMaster(pDev, MASTER_POINTER);
|
||||
/* Hack for CVE-2023-5380: if we're moving
|
||||
* screens PointerWindows[] keeps referring to the
|
||||
* old window. If that gets destroyed we have a UAF
|
||||
* bug later. Only happens when jumping from a window
|
||||
* to the root window on the other screen.
|
||||
* Enter/Leave events are incorrect for that case but
|
||||
* too niche to fix.
|
||||
*/
|
||||
LeaveWindow(pDev);
|
||||
if (master)
|
||||
LeaveWindow(master);
|
||||
UpdateSpriteForScreen(pDev, pScreen);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -249,10 +249,10 @@ miScreenInit(ScreenPtr pScreen, void *pbits, /* pointer to screen bits */
|
|||
pScreen->numVisuals = numVisuals;
|
||||
pScreen->visuals = visuals;
|
||||
if (width) {
|
||||
pScreen->CloseScreen = miCloseScreen;
|
||||
#ifdef MITSHM
|
||||
ShmRegisterFbFuncs(pScreen);
|
||||
#endif
|
||||
pScreen->CloseScreen = miCloseScreen;
|
||||
}
|
||||
/* else CloseScreen */
|
||||
/* QueryBestSize */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue