[gdm-list] displays in daemon/gdm-local-display-factory.c



[If you're not interested in multi-seat and multi-display feature,
please ignore this email]

Hi Ray,

With current display-configuration branch, there is a problem that the
GdmDisplay object is not updated with correct session id when a new
session attach on it. For example, the user login scenario.

To fix above issue, I'm thinking to listen to the "SessionAdded" CK
signal. In the callback, query GetX11Display to get the display number,
then update the corresponding GdmDisplay with correct session id.

In that case, the user switch bug
http://defect.opensolaris.org/bz/show_bug.cgi?id=13252 can be fixed on
top of it.

Is it the correct fix?

Look at daemon/gdm-local-display-factory.c, there are two hash table to
store GdmDisplay objects. By query git log, you added it in commit
http://git.gnome.org/browse/gdm/commit/?h=display-configuration&id=0eb4e739f38f8e3351aed556ef27e2f6debc1799

priv->displays is display-number and GdmDisplay mapping,
priv->displays_by_session is session-id and GdmDisplay mapping.

To keep code clean, I'd like to remove use of priv->displays_by_session,
I do not see why we keep two tables here. Do you?

Thanks,
Halton.




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