Closed Bug 684487 Opened 9 years ago Closed 3 years ago

IME input box is always placed at bottom-left corner of the screen

Categories

(SeaMonkey :: General, defect)

SeaMonkey 2.3 Branch
x86
OS/2
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: komh, Assigned: komh)

References

Details

(Keywords: intl, Whiteboard: OS/2 only files. Please leave bug open)

Attachments

(2 files)

User Agent: Mozilla/5.0 (OS/2; Warp 4.5; rv:6.0) Gecko/20110821 Firefox/6.0 SeaMonkey/2.3
Build ID: 20110821165600

Steps to reproduce:

Input DBCS characters using IME


Actual results:

The input box of IME is always placed at the bottom-left corner of the screen.


Expected results:

The bottom-left corner of the input box of IME should be placed at the same position as the cursor(caret).
I suspects that WM_QUERYCONVERTPOS message processing was changed at some point.

Alex Taylor said that he could confirm this problem at SeaMonkey 2.1.x as well.

SeaMonkey 2.0.x does not have this problem.

Dave Yeo suspected that WM_QUERYCONVERTPOS parts were removed at 
    
    https://bugzilla.mozilla.org/show_bug.cgi?id=522896#c33
Blocks: 522896
Hardware: Other → x86
This has also been reported by some Japanese eCS users.  It occurs consistently on DBCS OS/2 systems.

This makes typing on DBCS systems quite awkward.
Hi! Do you intend to flag your patch for review? or is this just a WIP?
Review, please.
Comment on attachment 636227 [details] [diff] [review]
Patch for IME input box misposition

Picking some OS/2 person at random. Please reassign requestee as needed.
Attachment #636227 - Flags: review?(wuno)
Comment on attachment 636227 [details] [diff] [review]
Patch for IME input box misposition

Dave, you're probably the better choice for reviewing this
Attachment #636227 - Flags: review?(wuno) → review?(daveryeo)
Setting confirmed based on comment 2.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Blocks: 768742
Attachment #638094 - Flags: review?(daveryeo) → review+
Keywords: checkin-needed
Whiteboard: OS/2 only files. Please leave bug open
Comment on attachment 638094 [details] [diff] [review]
Patch against trunk for IME input box misposition [checked-in comment 10]

Pushed to mozilla-central
http://hg.mozilla.org/mozilla-central/rev/edf132b767b0
Attachment #638094 - Attachment description: Patch against trunk → Patch against trunk [checked-in comment 10]
Attachment #636227 - Flags: review?(daveryeo)
Attachment #638094 - Attachment description: Patch against trunk [checked-in comment 10] → Patch against trunk for IME input box misposition [checked-in comment 10]
Keywords: checkin-needed
Does that patch set correct caret position to the pCursorPos on XUL <panel>s? I don't know about the OS/2's IME APIs but it looks like the patch doesn't work when focused widget and caret widget are different. E.g., is it work fine on the editors in Bookmark panel?
Assignee: nobody → komh
Status: NEW → ASSIGNED
I'm not sure what 'editors in Bookmark panel' is.

But, If I understand it correctly, I did the following.

  1. Bookmarks -  Show All Bookmakrs

  2. Select some bookmark

  3. Click 'More'

  4. Edit 'Description:'

This works fine.

  5. Press 'Alt' key

  6. Some menu item is selected.

  7. Input DBCS chars

  8. IME input-box is placed in editor of 'Description:'

Hmm... Is this what you are saying ?
No, I meant that the "Bookmak panel" is a XUL <panel> which is opened when "star" is clicked in location bar of Firefox.
When I click 'star', 'Edit This Bookmark' window is opened.

And I can input DBCS chars on 'Name:' and 'Tags:' field. And IME input-box is located as expected.
(In reply to KO Myung-Hun from comment #14)
> When I click 'star', 'Edit This Bookmark' window is opened.
> 
> And I can input DBCS chars on 'Name:' and 'Tags:' field. And IME input-box
> is located as expected.

Okay, then, my worry is wrong. Sorry. And thank you for your confirmation and implementing the IME handlers!
(In reply to Masayuki Nakano (:masayuki) (Mozilla Japan) from comment #15)
> (In reply to KO Myung-Hun from comment #14)
> > When I click 'star', 'Edit This Bookmark' window is opened.
> > 
> > And I can input DBCS chars on 'Name:' and 'Tags:' field. And IME input-box
> > is located as expected.
> 
> Okay, then, my worry is wrong. Sorry. And thank you for your confirmation
> and implementing the IME handlers!

Then, would you mind explaining the reason why you worried about that ?

Frankly, I don't understand the logic of Mozilla IME-releated stuffs completely. So I found this code by trial-and-error from the sources of other platforms.

I would appreciate your explanation. ^^
Hmm, I was confused by older Gecko's code.

Even if an editor in XUL <panel> has focus in Gecko, actual (native) focused widget is its parent window.

Gecko used to return XUL <panel> related x/y for the caret position. Therefore, widget needed to convert the position to screen or focused widget.

But current query events returns the position relative to the root widget.

So, I just misunderstood current design. I designed it, though. :-(

Note that if IME API needs refers different widget from the focused widget, we still need to reconvert the position. This face also confused me.

http://mxr.mozilla.org/mozilla-central/source/widget/cocoa/TextInputHandler.mm#2565
http://mxr.mozilla.org/mozilla-central/source/widget/gtk2/nsGtkIMModule.cpp#1407
http://mxr.mozilla.org/mozilla-central/source/widget/windows/nsIMM32Handler.cpp#2003
Sorry OS/2 is no longer an offcially supported platform. Closing.
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.