Bug 234804

Summary: uim menu lists IMs not installed and apps crashes when they are selected
Product: [Fedora] Fedora Reporter: Jens Petersen <petersen>
Component: uimAssignee: Akira TAGOH <tagoh>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: eng-i18n-bugs
Target Milestone: ---Keywords: i18n
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-09-14 10:43:01 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 235331    
Attachments:
Description Flags
testcase none

Description Jens Petersen 2007-04-02 07:51:21 UTC
Description of problem:
The uim input method switching menu lists input methods that may not
be installed, and if one selects one of them then the application running
may crash

How reproducible:
every time

Steps to Reproduce:
1. install uim, uim-gtk2, uim-anthy
2. add uim applet to gnome panel or run uim-toolbar-gtk-systray
3. run GTK_IM_MODULE=uim gedit
4. select Anthy from switcher menu
5. select input method not installed

Actual results:
5. gedit crashes

Expected results:
5. not installed input methods should not appear in menu

Comment 1 Akira TAGOH 2007-04-04 04:46:22 UTC
Fixed in 1.4.1-3.fc7.

Comment 2 Jens Petersen 2007-04-05 01:48:17 UTC
Thanks!  Much better now.

Noticed one thing though: with m17n installed, m17n-nil appears
in the menu without an icon and that still crashes gedit for me.

Comment 3 Akira TAGOH 2007-04-05 03:14:37 UTC
Hmm, ok. it looks like m17n-lib is weird.
m17nlib module for uim just tries to pick input method up through
mdatabase_list() and register the info from minput_open_im(). AFAICS
minput_open_im returns something other than NULL, but the value able to get
through msymbol_name((MInputMethod *)->name) seems to be nil.

Comment 4 Akira TAGOH 2007-04-05 03:27:02 UTC
Created attachment 151730 [details]
testcase

Here is the actual result what I can get from m17n-lib:

lang: km
name: yannis
lang: ka
name: kbd
lang: el
name: kbd
lang: ko
name: han2
lang: ko
name: romaja
lang: my
name: kbd
lang: dv
name: phonetic
lang: ur
name: phonetic
lang: sk
name: kbd
lang: lo
name: lrt
lang: lo
name: kbd
lang: as
name: inscript
lang: as
name: phonetic
lang: as
name: itrans
lang: te
name: itrans
lang: te
name: inscript
lang: sv
name: post
lang: kk
name: kbd
lang: kk
name: arabic
lang: ja
name: tcode
lang: ja
name: trycode
lang: th
name: kesmanee
lang: th
name: pattachote   
lang: th
name: pattachote-2 
lang: th
name: kesmanee-2   
lang: th
name: tis820
lang: th
name: tis820-2
lang: kn
name: kgp
lang: kn
name: itrans
lang: kn
name: inscript
lang: ru
name: yawerty
lang: ru
name: phonetic
lang: ru
name: kbd
lang: hr
name: kbd
lang: ml
name: itrans
lang: ml
name: inscript
lang: gu
name: phonetic
lang: gu
name: itrans
lang: gu
name: inscript
lang: bo
name: wylie
lang: si
name: samanala
lang: si
name: wijesekera   
lang: ar
name: kbd
lang: am
name: sera
lang: grc
name: mizuochi
lang: sr
name: kbd
lang: vi
name: vni
lang: vi
name: viqr
lang: vi
name: telex
lang: hi
name: typewriter   
lang: hi
name: itrans
lang: hi
name: inscript
lang: hi
name: remington
lang: hi
name: phonetic
lang: mr
name: phonetic
lang: mr
name: itrans
lang: mr
name: inscript
lang: ta
name: phonetic
lang: ta
name: tamil99
lang: ta
name: inscript
lang: ta
name: itrans
lang: ta
name: typewriter   
lang: he
name: kbd
lang: or
name: itrans
lang: or
name: inscript
lang: or
name: phonetic
lang: ne
name: trad
lang: ne
name: rom
lang: bn
name: inscript
lang: bn
name: itrans
lang: bn
name: probhat
lang: hy
name: kbd
lang: fa
name: isiri
lang: zh
name: tonepy-b5
lang: zh
name: py
lang: zh
name: pinyin
lang: zh
name: quick
lang: zh
name: tonepy
lang: zh
name: py-gb
lang: zh
name: tonepy-gb
lang: zh
name: cangjie
lang: zh
name: bopomofo
lang: zh
name: py-b5
lang: pa
name: phonetic
lang: pa
name: inscript
lang: pa
name: itrans
lang: pa
name: jhelum
lang: t
name: syrc-phonetic
lang: t
name: latn-post
lang: t
name: latn-pre
lang: t
name: rfc1345
lang: t
name: unicode
lang: t
name: nil
lang: t
name: nil
lang: t
name: nil


So the last three seems to be wrong. should we clone this bug for m17n-lib to
keep the above info and close this once because we got a fix for the issue
listing not installed modules?

Comment 5 Jens Petersen 2007-04-05 08:21:59 UTC
Yep sounds good.  I filed bug 235331 for the m17n-lib issue.

Comment 6 Jens Petersen 2007-04-05 08:35:21 UTC
Hmm noticed one more thing: testing more I then removed m17n-db-latin
and restarted the desktop.  Now I when I start uim again the maps from
m17n-db-latin are still listed in the menu without their icon.
The list of m17n maps seems to be cached in one of the .uim.d/custom/ files,
but even after removing .uim.d/ and restarting the desktop
I still saw them in the menu?

Comment 7 Akira TAGOH 2007-04-05 09:09:06 UTC
Oh, yes.. and not only that file. similar cache is in installed-modules.scm and
loader.scm as well, which is updated by uim-module-manager.

Can you file a separate bug for that?

Comment 8 A S Alam 2007-05-21 06:13:51 UTC
issue was fixed (not comment #7),
tested with following version:
uim-1.4.1-3.fc7

due to comment #7, putting it verified