[devel] "Символы" DBus (Was: [sisyphus] gnome свежий сизиф)

Aleksey Novodvorsky a.e.nvdv at gmail.com
Tue Aug 18 19:53:00 MSD 2009


18.08.09, Mikhail Efremov<sem at altlinux.ru> написал(а):
> On Tue, 18 Aug 2009 13:34:29 +0400 Alexey Rusakov wrote:
>  > В Втр, 18/08/2009 в 13:22 +0400, Alexey Rusakov пишет:
>  > > В Втр, 18/08/2009 в 12:26 +0400, Anton Vinogradov пишет:
>  > > > Две очень неприятные проблеммы:
>  > > > 1. Вместо перзагрузки выкидывает в gdm
>  > Предположительно проблемы с gnome-session.
>  >
>  > > > 2. Не дает сменить системное время через аплет часов,
>  > > > вываливаясь с ошибкой "Method "ShowDialog" with signature "su" on
>  > > > interface "org.gnome.PolicyKit.Manager" doesn't exist"
>  > Разъехались интерфейс, предоставляемый PolicyKit-gnome, и интерфейс,
>  > который от него ожидает gnome-panel и конкретно апплет часов...
>
>
> Это выстрелил мой патч к PolicyKit-gnome.
>  Ситуация такая: PolicyKit-gnome пытается регистрировать один объект по
>  двум путям, "/org/gnome/PolicyKit/Manager" и "/". В dbus-glib 0.82
>  такое больше не позволяется:
>     Also, warn and keep the first object path if the library user registers
>     an object at two object paths (previously, this would fail silently, use
>     the second object path, and leak memory).
>  (commit 6de1441865da2816c6bcd8cae842be93a8a96304)
>
>  Поэтому в PolicyKit-gnome была выкинута регистрация первого пути,
>  оставлен только второй, т.к. после обновления libdbus-glib по первому не
>  работал даже пример в самом PolicyKit-gnome. К тому же в коммите
>  утверждается, что раньше все равно использовался только второй путь.
>  На самом деле оно похоже все-таки как-то работало, со старым
>  libdbus-glib у меня получается использовать оба пути.
>  Получается, что одна часть софта использует первый путь, другая -
>  второй. При этом я подозреваю, что первый путь является тяжелым
>  наследием прошлого, как и сам ShowDialog:
>   <!-- this interface is deprecated and will be removed in a future
>  release --> <interface name="org.gnome.PolicyKit.Manager">
>     <method name="ShowDialog">
>
>  Надо либо приводить весь софт к одному знаменателю, т.е. использовать
>  какой-то один путь, либо откатывать libdbus-glib.

Давайте это занесем в bugzilla для начала.

Rgrds, Алексей


More information about the Devel mailing list