Comment 2 for bug 514562

Revision history for this message
Chris Coulson (chrisccoulson) wrote : Re: keyboard no longer repeats

This is being broken by gconf-schemas, and affects any schema entry with an empty short_desc attribute. Taking /schema/desktop/gnome/peripherals/keyboard/repeat as an example here, it's schema originally (pre-trimmed) looks like this:

<entry name="repeat" mtime="1256315482" type="schema" stype="bool" owner="gnome" gettext_domain="libgnome-2.0">
    <local_schema locale="C" short_desc="">
        <default type="bool" value="true"/>
    </local_schema>
</entry>

When gconf-schemas is invoked to register or unregister a schema, the existing schemas with an empty short_desc attributed get trimmed like this:

<entry name="repeat" mtime="1256315482" type="schema" stype="bool" owner="gnome" gettext_domain="libgnome-2.0">
<local_schema locale="C">
<default type="bool" value="true"/>
</local_schema>
</entry>

The above entry still works ok (note that the empty short_desc attribute has disappeared as expected). But, if gconf-schemas is run a second time, then it gets mangled like this:

<entry name="repeat" mtime="1256315482" type="schema" stype="bool" owner="gnome" gettext_domain="libgnome-2.0">
</entry>

This is because the regexp '<local_schema locale="([a-zA-Z0-9@._-]+)">' matches "<local_schema locale="C">" on the second run, and that whole section gets trimmed out along with the default value.