Ticket #2022 (closed defect: fixed)

Opened 3 years ago

Last modified 3 years ago

keyboard control panel chokes on non-empty option group

Reported by: sascha_silbe Owned by: sascha_silbe
Priority: Urgent Milestone: 0.88.x
Component: sugar Version: 0.88.x
Severity: Major Keywords: r+
Cc: unmadindu Distribution/OS:
Bug Status: New

Description

This is the trigger for #2021.

If the option group is non-empty (e.g. because it has been configured using the regular Xorg ways), the keyboard control panel will wrap it in another list and gconf throws an exception:

1275296170.989435 TRACE root: set_option_group(<cpsection.keyboard.model.KeyboardManager object at 0x8f7e94c>, ['terminate:ctrl_alt_bksp']) invoked
1275296170.990156 DEBUG root: options=[['terminate:ctrl_alt_bksp']]
1275296170.990818 ERROR root: Exception occured in set_option_group
Traceback (most recent call last):
  File "/usr/lib/python2.5/site-packages/sugar/logger.py", line 189, in _trace
    res = f(*args, **kwargs)
  File "/usr/share/sugar/extensions/cpsection/keyboard/model.py", line 154, in set_option_group
    self._gconf_client.set_list(_OPTIONS_KEY, gconf.VALUE_STRING, options)
TypeError: value should be a string
Traceback (most recent call last):
  File "/usr/lib/python2.5/site-packages/jarabe/controlpanel/gui.py", line 321, in __select_option_cb
    self.show_section_view(option)
  File "/usr/lib/python2.5/site-packages/jarabe/controlpanel/gui.py", line 218, in show_section_view
    self._options[option]['alerts'])
  File "/usr/share/sugar/extensions/cpsection/keyboard/view.py", line 179, in __init__
    self._setup_group_switch_option()
  File "/usr/share/sugar/extensions/cpsection/keyboard/view.py", line 270, in _setup_group_switch_option
    self._keyboard_manager.get_current_option_group()
  File "/usr/share/sugar/extensions/cpsection/keyboard/model.py", line 125, in get_current_option_group
    self.set_option_group(options)
  File "<string>", line 2, in set_option_group
  File "/usr/lib/python2.5/site-packages/sugar/logger.py", line 189, in _trace
    res = f(*args, **kwargs)
  File "/usr/share/sugar/extensions/cpsection/keyboard/model.py", line 154, in set_option_group
    self._gconf_client.set_list(_OPTIONS_KEY, gconf.VALUE_STRING, options)
TypeError: value should be a string

Change History

Changed 3 years ago by sascha_silbe

  • keywords r? added
  • owner changed from tomeu to sascha_silbe
  • status changed from new to assigned

 Patch #99 on Patchwork.

Changed 3 years ago by sayamindu

  • keywords r+ added; r? removed

Patch looks OK. Please commit.

Changed 3 years ago by tomeu

  • status changed from assigned to closed
  • resolution set to fixed
Note: See TracTickets for help on using tickets.