ibus: one reply path, no ceremony around calls that cannot fail

Six handlers built method returns by hand and only two of them checked
for a nil message; reply() builds them all and dies on OOM like the
rest of the daemon. DBusError objects were initialised and freed but
never read: libdbus accepts nil. Properties.Get always errored, so it
is one line in onmsg; the introspection XML served nobody (libibus
never asks) and had to be kept in sync by hand. Ibushinthidden was not
an IBus hint, so that term of hidden() never fired. writeaddr uses the
syscalls directly and the address file's dev/ino is the ownership
proof; buildaddrpath makes the directory in place. An empty
UpdatePreeditText goes out only to the context that shows a preedit.
This commit is contained in:
2026-08-16 16:20:10 +09:00
parent c2baa47026
commit eaf31da0d1
2 changed files with 174 additions and 316 deletions

View File

@@ -358,7 +358,6 @@ ibus_private_input_policy(struct ct *t)
{ Ibuspurposepassword, 0, 1 },
{ Ibuspurposepin, 0, 1 },
{ 0, 1<<11, 0 },
{ 0, Ibushinthidden, 1 },
{ 37, 1<<20, 0 },
};
Ibusfix f;