skk input method not selectable if local dictionary file is corrupt

Bug #498903 reported by Peter Maydell
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
scim-skk (Ubuntu)
New
Undecided
Unassigned

Bug Description

Binary package hint: scim-skk

If the user's SKK dictionary file ~/.skk-scim-jisyo is corrupt then the skk-scim input method can throw an exception while trying to read it, which results in the input method not being selectable.

To reproduce:
 * copy the attached (presumably corrupt) dictionary file to ~/.skk-scim-jisyo
 * run scim-setup
 * select IMEngine>Global Setup in the left pane
 * SKK should be listed in the right pane in the 'Japanese' section, but it is not

I did some initial debugging on this, and what is happening is this:
 * the GTK panel enumerates all the IMEngine modules (including SKK) in (scim's) scim_imengine_setup.cpp get_factory_list().
 * this eventually results in a call to skk_LTX_scim_imengine_module_create_factory in scim-skk
 * we instantiate an SKKFactory
 * SKKFactory's constructor calls reload_config()
 * part of this involves reloading the user dictionary via scim_skk::UserDict::load_dict()
 * some problem with the dictionary file causes it to throw an exception
 * this is caught by the code that was trying to instantiate the SKKFactory and treated as a failure
 * the scim setup code therefore doesn't put SKK in to its list of working input methods

Corrupt dictionary files should be handled in some more graceful manner than "skk stops working completely and with no information about what has gone wrong" :-)

ProblemType: Bug
Architecture: i386
Date: Sun Dec 20 23:52:40 2009
DistroRelease: Ubuntu 9.10
Package: scim-skk 0.5.2-5.1
ProcEnviron:
 LANGUAGE=en_GB:en
 PATH=(custom, user)
 LANG=en_GB.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.31-14.48-generic
SourcePackage: scim-skk
Uname: Linux 2.6.31-14-generic i686

Revision history for this message
Peter Maydell (pmaydell) wrote :
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.