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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user