Comment 2 for bug 867885

Revision history for this message
Brandon Schaefer (brandontschaefer) wrote :

It looks like it has to do with preediting and how it handles the cursor. When you start typing in preedit and then press the left arrow; the ibus pop up window disappears along with the text.

When this happens and "IMTextEntry::UpdateCursorLocation()" gets called from "IMTextEntry::OnPreeditChanged" It is setting 1049949 on the y axis as opposed to 18, where it usually hovers on my machine. It then sets "gtk_im_context_set_cursor_location" with that y axis and this moves the popup off screen where it thinks the cursor's location is. Normally it does this when it thinks you have deleted all the preedit.

It is getting the info from "GetCursorRects" so there must be something getting set incorrectly. It seems like the cursor is not getting set correctly or the text location it self.

If you change the y to always be constant (in my case 18) when you set the cursor location the ibus window doesn't disappear/move but the text still does. (ie. screenshot - "constant_y")

There seems to be a reason it is getting that ridiculously number for y when it shouldn't. I'll have more time tomorrow to look for that reason.

Also oddly when you just type normally (ie. "abcd") and move the cursor with the arrow keys the SearchBar it self starts acting funny. (ie. screenshot - "normal_text_cursor")