Summary: | Unwanted IM reset on focus-out of Qt4 immodule | ||
---|---|---|---|
Product: | UIM | Reporter: | YamaKen <yamaken> |
Component: | bridge: Qt | Assignee: | uim-bugs |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | major | ||
Priority: | high | ||
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Bug Depends on: | |||
Bug Blocks: | 7730 | ||
Attachments: |
patch
patch to keep preedit text patch to keep preedit text (v2) patch to keep preedit text (v3) |
Description
YamaKen
2008-01-03 08:05:52 UTC
Created attachment 34432 [details] [review] patch Maybe we can't fix this bug unless doing what the Qt4 documentation says you must not or you should not. (In reply to comment #1) > Created an attachment (id=34432) [details] > patch > > Maybe we can't fix this bug unless doing what the Qt4 documentation says you > must not or you should not. Thanks for the consideration. Perhaps you misunderstand the original issue. In uim, we have reset handler (and also focus-in/out, displace and place handlers) in input method itself. It serves as language dependent requirement (or demand) when the focus is changed during the text editing, i.e. keeping preedit text, committing composing text, clearing preedit, and so on. We should anyhow need to solve the problem of broken reset by focus change in Qt4 (and also GTK+)... This is the original intension of the bug, I think. (In reply to comment #2) > It serves as language dependent requirement > (or demand) when the focus is changed during the text editing, i.e. keeping > preedit text, committing composing text, clearing preedit, and so on. Is it related to QUimInputContext::isPreeditPreservationEnabled()? Created attachment 35802 [details] [review] patch to keep preedit text Created attachment 35929 [details] [review] patch to keep preedit text (v2) IMO, this bug is Qt4-specific one because "Qt" is in the title of this bug and this bug is referred to in "Qt4 bridge (experimental)" section in NEWS. http://uim.googlecode.com/svn/trunk/NEWS > - Qt4 bridge (experimental) > * Basically working but still having some known bugs (#13910, #13911) If so, we only must make Qt4 immodule behave like GTK+ immodule. Anyway, it would be nice if the original reporter explains this bug in greater detail. (In reply to comment #5) I think you understand the problem quite well now. Just a glance of the patch, key concept is to keep preedit using on-to-on uim contexts for corresponding widgets shared within one qt's input context, right? It seems the approach is quite hack, so please enclose the code with #ifdef to keep the code understandable. This would also make maintenance of the code simple when Qt4 itself fix the problem. In addition, you need to fix QUimInputContext::language() to represent currently using input method language. Created attachment 36065 [details] [review] patch to keep preedit text (v3) I've introduced a new macro and modified QUimInputContext::language(). How about this patch to close this bug? Seems fine to me. Please commit the patch and close this bug :) Thanks. Fixed in trunk (r6418). |
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.