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
Fixed in 1.4.1-3.fc7.
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.
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.
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?
Yep sounds good. I filed bug 235331 for the m17n-lib issue.
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?
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?
issue was fixed (not comment #7), tested with following version: uim-1.4.1-3.fc7 due to comment #7, putting it verified