Closed Bug 299516 Opened 19 years ago Closed 17 years ago

Switching out and in a field with unconfirmed inline input re-enables it incorrectly

Categories

(Core :: Widget: Cocoa, defect)

PowerPC
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: ap, Assigned: masayuki)

References

()

Details

Attachments

(1 file, 4 obsolete files)

User-Agent:       Mozilla/5.0 (Macintosh; U; PPC Mac OS X; ru-ru) AppleWebKit/312.1 (KHTML, like Gecko) Safari/312
Build Identifier: 2005070108 (v0.9a1+)

Inline input area stays underlined, but isn't actually reenabled

Reproducible: Always

Steps to Reproduce:
1. Go to http://www.google.ru/advanced_search
2. Using Kotoeri (or any other input method that uses inline input), type something in the first text field 
("with all of the words").
3. Without confirming the inline input area, click in the second text field; then, back in the first
  The text is still underlined
4. Continue typing
Actual Results:  
Underlining disappears, a new inline input area is created.

Expected Results:  
Underlining should match the current inline input area.

Instead of step 4, one can try using some functions from Kotoeri menu - they do not work, as well.
Assignee: pinkerton → sfraser_bugs
Status: UNCONFIRMED → NEW
Ever confirmed: true
Moving the IME bugs to 1.1 :-(
Target Milestone: --- → Camino1.1
The problem of looking like bug163572 occurred when the reproduction step was repeated. 
Therefore, Japanese input becomes difficult. 

It is not only by the problem of externals like underline. 
Moving IME-related bugs to Camino 1.2 :(
Target Milestone: Camino1.1 → Camino1.2
Firefox reproduces because it moved to Cocoa Widget. 
It is not a problem of Camino alone. 

Mac OS X 10.3.9
Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.9a1) Gecko/20061215 Minefield/3.0a1
Component: HTML Form Controls → Widget: Cocoa
Product: Camino → Core
Target Milestone: Camino1.2 → ---
Version: unspecified → Trunk
Assignee: sfraser_bugs → joshmoz
QA Contact: cocoa
I'm working on this bug, but there may be two or more bugs...
Assignee: joshmoz → masayuki
Attached patch Patch rv0.1 (work in progress) (obsolete) — Splinter Review
Whiteboard: 丹羽大助
oops, sorry for the spam :-(
Whiteboard: 丹羽大助
Attached patch Patch rv1.0 (obsolete) — Splinter Review
I think that this patch should/can fix this bug.

We have two issues for fixing this bug:
1. NSInputManager cannot commit the current transaction if the composing widget has lost focus.

We can use TSM APIs, therefore, at starting the composing, we can get the active TSM document ID and we can use it for commit the composing.

2. But FixTSMDocument which can commit the composing doesn't send insertText if the document has been deactivated, therefore, nsTSMManaer::CommitIME and nsTSMManager::CancelIME check whether the composing is finished by FixTSMDocument. If it is not finished (i.e., FixTSMDocument doesn't call insertText), we should call insertText ourselves.
Attachment #271563 - Attachment is obsolete: true
Note that we should not call nsTSMManager::CommitIME from resignFirstResponder and viewsWindowDidResignKey. Because it is called via ResetInputState from the events which is risen from them. But if remove them, this patch doesn't work fine, I think this bug should be fixed, but now, I may not have much time, therefore, I hope that the patch will be landed to trunk with the bug :-(
Status: NEW → ASSIGNED
Attached patch Patch rv1.1 (obsolete) — Splinter Review
O.K. This patch works fine for me.

In logically, resignFirstResponder and viewsWindowDidResignKey should not call nsTSMManager::CommitIME(). Because it should be called nsIMEStateManager via ResetInputState(). However, it doesn't work fine only on Mac... (It should be separated to another bug now.)
Attachment #271876 - Attachment is obsolete: true
Attachment #274334 - Flags: superreview?(roc)
Attachment #274334 - Flags: review?(joshmoz)
Comment on attachment 274334 [details] [diff] [review]
Patch rv1.1

oops, sorry for the spam.

the patch has a bug.
Attachment #274334 - Flags: superreview?(roc)
Attachment #274334 - Flags: review?(joshmoz)
Attachment #274334 - Flags: review-
Attached patch Patch rv1.2 (obsolete) — Splinter Review
fix two memory leak bugs and using NSString for sComposingString, this is simpler.
Attachment #274334 - Attachment is obsolete: true
Attachment #274335 - Flags: superreview?(roc)
Attachment #274335 - Flags: review?(joshmoz)
Attachment #274335 - Flags: review?(joshmoz) → review+
roc:

would you sr this?
Comment on attachment 274335 [details] [diff] [review]
Patch rv1.2

+      bufPtr[0] = (PRUnichar)'\0';

Constructor cast please
Attachment #274335 - Flags: superreview?(roc) → superreview+
Comment on attachment 274335 [details] [diff] [review]
Patch rv1.2

Thank you, roc.

I need the approval for this bug. This bug blocks next my work, I want to land this quickly.
Attachment #274335 - Flags: approval1.9?
Attachment #274335 - Attachment is obsolete: true
Attachment #276871 - Flags: superreview+
Attachment #276871 - Flags: review+
Attachment #276871 - Flags: approval1.9?
Attachment #274335 - Flags: approval1.9?
Attachment #276871 - Flags: approval1.9? → approval1.9+
checked-in.
Status: ASSIGNED → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: