Bug#590534: gdm3 changes xkb

Cyril Brulebois kibi at debian.org
Thu Jan 20 00:34:14 UTC 2011


Cyril Brulebois <kibi at debian.org> (19/01/2011):
> New protocol:
>  * Restart gdm3.
>  * Make sure the options are set appropriately.
>  * Pick a user.

Tada, you lost already.

To narrow it down:
 * Restart gdm3
 * Attach gdm-simple-greeter:
     gdb attach $(pidof gdm-simple-greeter)
     b gdm_layout_activate
     c
 * Pick a user, notice the password prompt doesn't show
   up. Breakpoint's been reached.
 * p *config → options is 0.

Unsurprisingly, gui/simple-greeter/gdm-layouts.c says:
| void
| gdm_layout_activate (const char *layout)
| {
| #ifdef HAVE_LIBXKLAVIER
|         XklConfigRec *config;
|         char         *p;
| 
|         init_xkl ();
| 
|         config = xkl_config_rec_new ();
|         config->model = g_strdup (initial_config->model);
| 
|         if (layout == NULL) {
|                 config->layouts = g_strdupv (initial_config->layouts);
|                 config->variants = g_strdupv (initial_config->variants);
|                 config->options = g_strdupv (initial_config->options);

Here you'd get options.

|         } else {
|                 config->layouts = g_new0 (char *, 2);
|                 config->layouts[0] = g_strdup (layout);
| 
|                 p = strchr (config->layouts[0], '\t');
|                 if (p != NULL) {
|                         config->variants = g_new0 (char *, 2);
|                         config->layouts[0][p - config->layouts[0]] = 0;
|                         config->variants[0] = g_strdup (p + 1);
|                 }

Here you're fucked.

|         }
| 
|         xkl_config_rec_activate (config, engine);
| 
|         g_object_unref (config);
| #endif
| }

KiBi.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-gnome-maintainers/attachments/20110120/227c2dfb/attachment-0001.pgp>


More information about the pkg-gnome-maintainers mailing list