mirror of
https://github.com/X11Libre/xserver.git
synced 2026-04-14 17:18:09 +00:00
dix: free GenericMask allocations when destroying window.
This commit is contained in:
13
dix/window.c
13
dix/window.c
@@ -822,6 +822,8 @@ CreateWindow(Window wid, WindowPtr pParent, int x, int y, unsigned w,
|
||||
static void
|
||||
DisposeWindowOptional (WindowPtr pWin)
|
||||
{
|
||||
GenericMaskPtr gmask = NULL, next = NULL;
|
||||
|
||||
if (!pWin->optional)
|
||||
return;
|
||||
/*
|
||||
@@ -855,6 +857,17 @@ DisposeWindowOptional (WindowPtr pWin)
|
||||
xfree(pWin->optional->access.perm);
|
||||
xfree(pWin->optional->access.deny);
|
||||
|
||||
/* Remove generic event mask allocations */
|
||||
if (pWin->optional->geMasks)
|
||||
gmask = pWin->optional->geMasks->geClients;
|
||||
while(gmask)
|
||||
{
|
||||
next = gmask->next;
|
||||
xfree(gmask);
|
||||
gmask = next;
|
||||
}
|
||||
xfree (pWin->optional->geMasks);
|
||||
|
||||
xfree (pWin->optional);
|
||||
pWin->optional = NULL;
|
||||
}
|
||||
|
||||
@@ -115,7 +115,7 @@ typedef struct _WindowOpt {
|
||||
#endif
|
||||
struct _OtherInputMasks *inputMasks; /* default: NULL */
|
||||
DevCursorList deviceCursors; /* default: NULL */
|
||||
struct _GenericClientMasks *geMasks;/* default: NULL */
|
||||
struct _GenericClientMasks *geMasks; /* default: NULL */
|
||||
WindowAccessRec access;
|
||||
} WindowOptRec, *WindowOptPtr;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user