mirror of
https://gitlab.freedesktop.org/libinput/libei.git
synced 2025-12-29 02:00:08 +01:00
Because of the asynchronous protocol, we may get this interaction
server sends A->destroyed()
client sends A->foo()
client receives A->destroyed()
server receives A->foo()
server sends invalid_object_id(A)
client receives invalid_object_id(A)
Previously we dropped the object after destroyed() and were thus
guaranteed to warn about the invalid object id for that same object
later.
Fix this by keeping a cache of defunct object IDs that we know about and
ignoring errors for recently dropped objects.
Every 20 ei_dispatch() calls we drop any defunct objects that were
unregistered more than 5 seconds ago.
Fixes #49
|
||
|---|---|---|
| .. | ||
| templates | ||
| buildtest.c | ||
| buildtest.cc | ||
| conftest.py | ||
| eierpecken.c | ||
| eierpecken.h | ||
| eiproto.py.tmpl | ||
| meson.build | ||
| test-ei-device.c | ||
| test-ei-seat.c | ||
| test-ei.c | ||
| test-eis.c | ||
| test-main.c | ||
| test_oeffis.py | ||
| test_protocol.py | ||
| test_scanner.py | ||
| unit-tests.c | ||