Ping? Probably my explanation was unclear. Let me try again: (1) Currently, bus_input_context_emit_signal() sets the ...
13 years, 5 months ago
(2011-01-06 08:12:25 UTC)
#3
Ping?
Probably my explanation was unclear. Let me try again:
(1) Currently, bus_input_context_emit_signal() sets the sender of signals to
"org.freedesktop.DBus" not "org.freedesktop.IBus", unlike ibus 1.3.
(2) dbus-python's proxy implementation adds "sender='<bus_name>'" to the match
rule, and ibus' python binding passes "org.freedesktop.IBus" as bus_name. Thus,
the python binding cannot receive any signals.
(3) changing the sender in bus_input_context_emit_signal() not enough, since
gdbusproxy.c:on_signal_received() checks the sender == name owner, and the
current GetNameOwner implementation also hard-codes it to
"org.freedesktop.DBus".
I confirmed that the second patch working well. Actually the change to
bus/ibusimpl.c is not necessary, but it's harmless and nice to use
"org.freedesktop.IBus" there too, I think.
On 2011/01/06 08:12:25, Daiki Ueno wrote: > Ping? > > Probably my explanation was unclear. ...
13 years, 5 months ago
(2011-01-06 15:37:22 UTC)
#4
On 2011/01/06 08:12:25, Daiki Ueno wrote:
> Ping?
>
> Probably my explanation was unclear. Let me try again:
>
> (1) Currently, bus_input_context_emit_signal() sets the sender of signals to
> "org.freedesktop.DBus" not "org.freedesktop.IBus", unlike ibus 1.3.
>
> (2) dbus-python's proxy implementation adds "sender='<bus_name>'" to the match
> rule, and ibus' python binding passes "org.freedesktop.IBus" as bus_name.
Thus,
> the python binding cannot receive any signals.
>
> (3) changing the sender in bus_input_context_emit_signal() not enough, since
> gdbusproxy.c:on_signal_received() checks the sender == name owner, and the
> current GetNameOwner implementation also hard-codes it to
> "org.freedesktop.DBus".
>
> I confirmed that the second patch working well. Actually the change to
> bus/ibusimpl.c is not necessary, but it's harmless and nice to use
> "org.freedesktop.IBus" there too, I think.
LGTM
Issue 3775042: Set correct sender and interface when sending org.freedesktop.IBus signals.
(Closed)
Created 13 years, 6 months ago by Daiki Ueno
Modified 13 years, 5 months ago
Reviewers: shawn.p.huang_gmail.com, Peng
Base URL: git@github.com:ibus/ibus.git@master
Comments: 0