Default values stripped from schemas with empty "short_desc" attribute
Bug #514562 reported by
Fernando Miguel
This bug affects 27 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
gconf (Ubuntu) |
Fix Released
|
High
|
Martin Pitt | ||
Lucid |
Fix Released
|
High
|
Martin Pitt |
Bug Description
Binary package hint: gnome-settings-
lucid gnome stop having keyboard repeat
ProblemType: Bug
Architecture: amd64
Date: Fri Jan 29 23:41:14 2010
DistroRelease: Ubuntu 10.04
InstallationMedia: Ubuntu 10.04 "Lucid Lynx" - Alpha amd64 (20091130)
NonfreeKernelMo
Package: gnome-settings-
ProcEnviron:
PATH=(custom, user)
LANG=en_US.utf8
SHELL=/bin/bash
ProcVersionSign
SourcePackage: gnome-settings-
Uname: Linux 2.6.32-11-generic x86_64
Changed in gconf (Ubuntu Lucid): | |
status: | Triaged → Fix Committed |
assignee: | nobody → Martin Pitt (pitti) |
tags: | added: i386 |
To post a comment you must log in.
This is being broken by gconf-schemas, and affects any schema entry with an empty short_desc attribute. Taking /schema/ desktop/ gnome/periphera ls/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.