Summary: | SCIM and other XIM servers never loaded on Thai locale | ||||||
---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Theppitak Karoonboonyanan <thep> | ||||
Component: | * Other | Assignee: | Xorg Project Team <xorg-team> | ||||
Status: | CLOSED FIXED | QA Contact: | Xorg Project Team <xorg-team> | ||||
Severity: | normal | ||||||
Priority: | medium | Keywords: | i18n, patch | ||||
Version: | 7.3 (2007.09) | ||||||
Hardware: | All | ||||||
OS: | All | ||||||
Whiteboard: | |||||||
i915 platform: | i915 features: | ||||||
Attachments: |
|
Description
Theppitak Karoonboonyanan
2008-04-26 02:53:08 UTC
This is because _XOpenIM() implementation [modules/im/ximcp/imInt.c] checks the _XimImSportRec[] array [modules/im/ximcp/imImSw.c] for processing in this order: - _XimCheckIfLocalProcessing() [modules/im/ximcp/imLcIm.c] - _XimCheckIfThaiProcessing() [modules/im/ximcp/imThaiIm.c] - _XimCheckIfDefault() [modules/im/ximcp/imImSw.c] _XimCheckIfLocalProcessing() checks for "local" or "none" IM, or Compose IM. _XimCheckIfThaiProcessing() checks if the language of the current locale is Thai. If so, _XimThaiOpenIM() is called to open the built-in Thai XIM immediately, regardless of how XMODIFIERS is set to choose other XIM server (in this case, SCIM). Therefore, on Thai locale, no other external XIM server is allowed. Created attachment 16190 [details] [review] Patch adding checks for IM names This patch adds more checks for Thai XIM processing. To open the internal Thai XIM, not only the locale must be matched, but the IM name must also be one of the predefined values, or null. Added i18n and patch keywords. On Sat, Apr 26, 2008 at 03:12:31AM -0700, bugzilla-daemon@freedesktop.org wrote: > Created an attachment (id=16190) > --> (http://bugs.freedesktop.org/attachment.cgi?id=16190) > Patch adding checks for IM names > > This patch adds more checks for Thai XIM processing. To open the internal Thai > XIM, not only the locale must be matched, but the IM name must also be one of > the predefined values, or null. Thanks. Do those names need to be checked with strcasecmp, or is it case-sensitive? (In reply to comment #4) > Thanks. Do those names need to be checked with strcasecmp, or is it > case-sensitive? In InitIscMode() [imThaiFlt.c], it's compared with strncmp(). So, if it's to be case insensitive, that function would also need the corresponding change. On Mon, Apr 28, 2008 at 12:16:19AM -0700, bugzilla-daemon@freedesktop.org wrote: > (In reply to comment #4) > > Thanks. Do those names need to be checked with strcasecmp, or is it > > case-sensitive? > > In InitIscMode() [imThaiFlt.c], it's compared with strncmp(). So, if it's to be > case insensitive, that function would also need the corresponding change. Okay, pushed as 0b6682303e9c61fefc3818acfda616b1e3691abf, thanks. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.