Xi: free barrier code at reset time
==29423== 16 bytes in 1 blocks are definitely lost in loss record 73 of 328 ==29423== at 0x4A06B6F: calloc (vg_replace_malloc.c:593) ==29423== by 0x5987C0: XIBarrierInit (xibarriers.c:908) ==29423== by 0x58F370: XInputExtensionInit (extinit.c:1300) ==29423== by 0x4F33C3: InitExtensions (miinitext.c:337) ==29423== by 0x4997DB: main (main.c:208) Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
042c6d861f
commit
6993f8b459
|
@ -1171,6 +1171,8 @@ IResetProc(ExtensionEntry * unused)
|
|||
|
||||
free(xi_all_devices.name);
|
||||
free(xi_all_master_devices.name);
|
||||
|
||||
XIBarrierReset();
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
|
|
|
@ -917,3 +917,15 @@ XIBarrierInit(void)
|
|||
|
||||
return PointerBarrierType;
|
||||
}
|
||||
|
||||
void
|
||||
XIBarrierReset(void)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < screenInfo.numScreens; i++) {
|
||||
ScreenPtr pScreen = screenInfo.screens[i];
|
||||
BarrierScreenPtr cs = GetBarrierScreen(pScreen);
|
||||
free(cs);
|
||||
SetBarrierScreen(pScreen, NULL);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,8 +36,8 @@ int
|
|||
XIDestroyPointerBarrier(ClientPtr client,
|
||||
xXFixesDestroyPointerBarrierReq * stuff);
|
||||
|
||||
Bool
|
||||
XIBarrierInit(void);
|
||||
Bool XIBarrierInit(void);
|
||||
void XIBarrierReset(void);
|
||||
|
||||
int SProcXIBarrierReleasePointer(ClientPtr client);
|
||||
int ProcXIBarrierReleasePointer(ClientPtr client);
|
||||
|
|
Loading…
Reference in New Issue