Default values stripped from schemas with empty "short_desc" attribute

Bug #514562 reported by Fernando Miguel
108
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-daemon

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)
NonfreeKernelModules: nvidia
Package: gnome-settings-daemon 2.29.6-0ubuntu2
ProcEnviron:
 PATH=(custom, user)
 LANG=en_US.utf8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.32-11.15-generic
SourcePackage: gnome-settings-daemon
Uname: Linux 2.6.32-11-generic x86_64

Revision history for this message
Fernando Miguel (fernandomiguel) wrote :
Revision history for this message
Chris Coulson (chrisccoulson) wrote :

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.

affects: gnome-settings-daemon (Ubuntu) → gconf (Ubuntu)
Changed in gconf (Ubuntu):
importance: Undecided → High
status: New → Triaged
summary: - keyboard no longer repeats
+ Default values stripped from schemas with empty "short_desc" attribute
Revision history for this message
Martin Olsson (mnemo) wrote :

Chris, does this need to go upstream or is it just an Ubuntu packaging bug?

In case someone needs a workaround for this bug. Just open System::Preferences::Keyboard and tick the checkbox called "Key presses repeat when key is held down". And in the same dialog set the "Delay" and "Speed" sliders so that their knobs are located just under the "en" letters in the word "when" (that's the default settings I have on my old karmic box, but I suppose you can just try out a delay/speed setting that feels "normal" to you).

Revision history for this message
Vish (vish) wrote :

This bug was fixed in the package gconf - 2.28.0-1ubuntu4 and is a dup of bug #514281.

---------------
gconf (2.28.0-1ubuntu4) lucid; urgency=low

  * debian/gconf-schemas: Do not trim mtime. (LP: #514281)
  * debian/gconf2.postinst: Force rebuilding the db on upgrades to this
    version, to undo the damage of the previous version.
 -- Martin Pitt <email address hidden> Fri, 29 Jan 2010 14:36:18 +0100

Revision history for this message
Chris Coulson (chrisccoulson) wrote :

I've unduplicated this. Bug 514281 is closed as fix released with a specific change to not trim mtime from the gconf defaults. This bug is about inadvertently trimming the default value from some schemas when gconf-schemas is executed more than once (some of the symptoms in bug 514281 may have been caused by the same issue here though)

Martin Pitt (pitti)
Changed in gconf (Ubuntu Lucid):
status: Triaged → Fix Committed
assignee: nobody → Martin Pitt (pitti)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gconf - 2.28.0-1ubuntu5

---------------
gconf (2.28.0-1ubuntu5) lucid; urgency=low

  * debian/gconf-schemas: Ensure that we do not filter out "C" locale
    defaults. *Brown paperbag* Thanks to Chris Coulson! (LP: #514562)
  * debian/gconf2.postinst: Force rebuilding the db on upgrades to this
    version, to undo the damage of the previous version.
 -- Martin Pitt <email address hidden> Sat, 30 Jan 2010 18:48:11 -0800

Changed in gconf (Ubuntu Lucid):
status: Fix Committed → Fix Released
Revision history for this message
Geir Ove Myhr (gomyhr) wrote :

gconf 2.28-1ubuntu5 did not fix this for me. I tried downgrading gconf2 to 2.28-1ubuntu4 and upgrading again, but to no avail. Running `xset r on` after each login is a workaround for now. Anything I can run in order to fix this?

Revision history for this message
Vanishing (vanishing) wrote :

@Geir Ove Myhr: It seems with the newest update, everything's fixed for me..

Revision history for this message
Bowmore (bowmore) wrote :

Same here, 1ubuntu5 fixed it for me too.

@Geir Ove Myhr
Can it be some interference with your local .gconf settings?

Revision history for this message
Chris Coulson (chrisccoulson) wrote :

Geir - what is the output of "gconftool-2 --dump /desktop/gnome/peripherals/keyboard" and "gconftool-2 --dump /schemas/desktop/gnome/peripherals/keyboard" after the update?

Revision history for this message
Geir Ove Myhr (gomyhr) wrote :

Found the problem: During troubleshooting I had turned off keyboard repetition in System -> Keyboard -> General, since when this bug was present, I would get double characters (probably because the delay got set to zero). For my test user which hadn't messed around with the settings, it worked again after the upgrade without any adjustments.

tags: added: i386
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.