Re: [GnomeMeeting-devel-list] About the implementation of the net.gnomemeeting.accounts interface of the dbus component

> Hi,
> just to say that the implementation of the dbus component is almost
> complete, except for that interface.
> And even for that interface, only two things are lacking :
> 1. the signals are not emitted as should be when something changes. This
> is something I still have to do ;
> 2. the state isn't accurately obtained when it has been changed. This is
> a bug, and I need to fix it before taking care of point 1.
> Let me describe the problem more thoroughly : the state of registered
> accounts is visible in three places : in the number of registered
> accounts in the main window, in the accounts window and in the remote.
> Those are not updated correctly.
> If I register/unregister from the remote, gnomemeeting's main window
> tells me I registered/unregistered, and it is reflected in the main
> window. The accounts window and the remote however don't show any change.
> If I register/unregister from the accounts window, everything looks sane.
> After some inquiry, the problem is in src/accounts.cpp, in the function
> account_toggled_cb, where one can read the following:
>    account = gm_aw_get_selected_account (accounts_window);
>    gnomemeeting_account_toggle_active (account);
>    gdk_threads_leave ();
>    ep->Register (account);
>    gdk_threads_enter ();
>    gm_account_delete (account);
> Which means that a ui function does too much things, as if it were the
> only code path through which accounts can be modified. Of course this is
> very wrong when the dbus component comes into the picture ;-)

if you remember our last discussions which were in the WIKI (before it got
hacked), then you will remember that it is perfectly valid for a callback
to have such a behavior.

> I don't exactly know how to tackle it, so I prefer asking on the ml
> first to discuss -- especially since threading is involved, as it is an
> area I really don't feel comfortable with.
> Snark
> PS: notice that since the signals aren't implemented, it is necessary to
> click the update button in the remote to see how things stand.
> _______________________________________________
> Gnomemeeting-devel-list mailing list
> Gnomemeeting-devel-list gnome org

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]