Avoid disabling device multiple times while handling XI attachment events

* src/xterm.c (handle_one_xevent): Avoid disabling devices if we
notice it has been disabled while handling XISlaveDetached or
XISlaveAttached.
This commit is contained in:
Po Lu 2022-08-17 10:20:25 +08:00
parent b24f7667ad
commit ed9adafc0b

View file

@ -22653,13 +22653,16 @@ handle_one_xevent (struct x_display_info *dpyinfo,
if (info)
{
if (device && info->enabled)
if (device)
{
device->use = info->use;
device->attachment = info->attachment;
}
else if (device)
disabled[n_disabled++] = hev->info[i].deviceid;
/* device could have been disabled by now.
But instead of removing it immediately,
wait for XIDeviceDisabled, or internal
state could be left inconsistent. */
XIFreeDeviceInfo (info);
}