ibus character selection window not drawn

Bug #867885 reported by Steve Magoun on 2011-10-04
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Ubuntu Translations
High
Unassigned
Unity
Fix Released
Medium
Brandon Schaefer
unity (Ubuntu)
Medium
Brandon Schaefer
Oneiric
Undecided
Unassigned

Bug Description

==== SRU Testing ====

- Enable IBus input method
- Installed unity 4.24.0 from oneiric-proposed (when it's available)
- Restart your session (logout/login)
- Open Dash by clicking on the Ubuntu icon in the launcher, make sure search entry is focused
- Type <Ctrl> + <Space> to switch to pinyin input method
- Type "zhong" in the search entry
- Make sure the character selection window remains open when pressing <Backspace> (and generally remains open for selection when it should).

=====================

(copied from https://bugs.launchpad.net/ubuntu/+source/unity/+bug/663776/comments/85 )

The iBus integration is still an issue.

Test environment:
Unity: 4.20.0-0ubuntu2
iBus: 1.3.99.20110419-1ubuntu3
ibus-pinyin: 1.3.99.20110706-1

Test steps:
1. Click dash icon
2. CTL-space to switch to pinyin IM
3. Type "zhong" in search menu

Expected to see a character selection window, but the selection window disappeared.

4. continue to test. press"back space", the character selection window appeared. press "back space" one more time, the character selection window disappeared again.

Related branches

Steve Magoun (smagoun) on 2011-10-04
Changed in unity (Ubuntu):
status: New → Confirmed
David Planella (dpm) on 2011-10-05
Changed in ubuntu-translations:
status: New → Triaged
importance: Undecided → High
David Barth (dbarth) wrote :

Brandon: can you look into this issue? thanks

Changed in unity:
assignee: nobody → Brandon Schaefer (brandontschaefer)
importance: Undecided → Medium
status: New → Triaged
milestone: none → 4.24.0
Changed in unity (Ubuntu):
milestone: none → oneiric-updates
assignee: nobody → Brandon Schaefer (brandontschaefer)
importance: Undecided → Medium

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")

Kevin Huang (wasikevin) wrote :

More testing on other IM
Unity: 4.20.0-0ubuntu2
iBus: 1.3.99.20110419-1ubuntu3
ibus-chewing: 1.3.9.2-3ubuntu1

Test steps:
1. Click dash icon
2. CTL-space to switch to chewing IM ( popular for Traditional Chinese)
3. Type "wu6" --> "ㄊ一ˊ" in search menu

Expected to see a character "提", but it is disappeared.

4. continue to test. press"down"key, the screen should show a character selection window, but nothing happen.

The problem is located in "preedit_cursor_" and how nux uses it. There are also a few other things nux has for dealing with preedit which seems to be in the right direction. Such as "_preedit" which nux uses to store the preedit text in, also an attribute variable for the function "gtk_im_context_get_preedit_string ()". Hopefully I'll fix this soon!

Changed in unity (Ubuntu):
status: Confirmed → In Progress
Changed in unity:
status: Triaged → In Progress

Example of the new preedit working. The window no long disappears when deleting or moving the cursor.

Neil J. Patel (njpatel) on 2011-10-10
Changed in unity:
status: In Progress → Fix Committed
Changed in unity (Ubuntu):
status: In Progress → Fix Committed
Kevin Huang (wasikevin) wrote :

Retest it today after several updates.

Test environment:
Unity: 4.22.0-0ubuntu3
iBus: 1.3.99.20110419-1ubuntu3
ibus-pinyin: 1.3.99.20110706-1

Test steps:
1. Click dash icon
2. CTRL-space to switch to pinyin IM
3. Type "zhong" in search menu, the character selection windows appears. :-)
4. press "down" key in order to select characters, but it is stuck on the 2nd one.

Expected to move the selection from 1 to 5 choices, then to the next pages.

4. continue to test. press"backspace", the character selection window works.

5. continue to test. press "left" key, the indicator moves to between "n" and "g", it works. press "left" key one more time, the indicator should move to between "o" and "n", but the selection window disappears. :-(

Did some more tests

1. Type "wen" in search menu, the character selection windows appeared, but disappeared when I press"left" key two times.
2. Type "jia" in search menu, the character selection windows appeared, and worked when I press"left" key two times.

Thank you for the testing. I just submitted a fix for the down key issue.

https://code.launchpad.net/~brandontschaefer/unity/ibus_down_fix

The window is not disappearing for me; so I'll see if I can reproduce this.

Neil J. Patel (njpatel) on 2011-10-12
description: updated
Omer Akram (om26er) on 2011-10-16
Changed in unity:
status: Fix Committed → Fix Released
Ethan Chang (ethan.chang) wrote :

It still has an issue need to be fixed, please check below

Test environment:
Unity: 4.22.0-0ubuntu3
ibus: 1.3.99.20110419-1ubuntu3
ibus-chewing 1.3.9.2-3ubuntu1
ibus-pinyin: 1.3.99.20110706-1

Test Step:
1. Click dash icon
2. CTRL-space to switch to pinyin IM
3. Type "zhong" in search menu, and a Chinese characters appears on the dash and character selection window appears either.
4. press "left" key twice

Result:
Both Chinese character and the character selection window will disappear

Note:
I will verify it after SRU released.

Hello Steve, or anyone else affected,

Accepted unity into oneiric-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in unity (Ubuntu Oneiric):
status: New → Fix Committed
tags: added: verification-needed
Miklos Juhasz (mjuhasz) wrote :

The proposed version works as expected.
I typed zhong into the search box, I saw the selection window and it remained open after pressing backspace once or several times.

tags: added: verification-done
removed: verification-needed
Kevin Huang (wasikevin) wrote :

@Miklos, the backspace works, but other issues remains. Please see the step-by-step test in comment #7

@Kevin Moving the ibus cursor with "zhong" works for me and on 3 other machines I have tested it on. I would try and install unity 4.24.0 from oneiric-proposed and see if that fixes this issue for you.

Ding Zhou (tualatrix) wrote :

Hello all,

I've enabled the oneiric-proposed to verify this issue.

The behavior of backspace, left and down keys of ibus in Unity search is all working now, just like in normal gtk application like gedit.

Thank you very much for the fix!

Kevin Huang (wasikevin) wrote :

I confirm it works on unity 4.24.0 from oneiric-proposed. Excellent job.

Ray Wang (raywang) wrote :

In unity 4.22.0-0ubuntu3, the character selection window will not disappear, but the problem is the letters you have input in the dash should be displayed. In this case, "zhong", the pinyin letter for "中" should be placed in the dash search bar.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity - 4.24.0-0ubuntu2

---------------
unity (4.24.0-0ubuntu2) oneiric-proposed; urgency=low

  * Cherry-pick upstream:
    - SRU0-Regression: scrollbar displacement caused dash rows to show less
      icons (LP: #875023)
    - Really reverts the UI change that was still uploaded even if we had
      reverted it…

unity (4.24.0-0ubuntu1) oneiric-proposed; urgency=low

  * New upstream release and some cherry-pick:
    - compiz crashed with SIGSEGV in PluginClassHandler<UnityWindow,
      CompWindow, 0>::get() (LP: #864758)
    - unity panel menus don't stay open when clicked on second monitor
      (LP: #869196)
    - (oneiric) menu bar in wrong place and invisible (LP: #845856)
    - Lens range widgets do not function correctly (LP: #862996)
    - Cannot raise window from panel after minimize (LP: #863114)
    - unity-panel-service crashed with SIGSEGV in g_closure_invoke()
      (LP: #843280)
    - Windows get corrupted sometimes when semi-maximizing them. (LP: #865177)
    - Automaximization happens on unminimize (LP: #868930)
    - compiz crashed with SIGSEGV in nux::ROProperty<std::string>::operator
      std::string() (LP: #869109)
    - Dash - horizental divider line in between categories incorrectly drawn
      (LP: #841750)
    - F10 opens a random menu item when it should open the first one
      [regression] (LP: #862849)
    - Switching desktops after using showdesktop can cause hidden windows to
      become "active" (LP: #864503)
    - Clicking blank space on top panel doesn't raise maximized window to
      front (LP: #864708)
    - unity launcher loses track of deja-dup windows (LP: #865051)
    - Dash - App Lens 'Rating' filter behaves incorrectly (LP: #865482)
    - Launcher does not show on "Show desktop" (LP: #867959)
    - ibus character selection window not drawn (LP: #867885)
    - the dash's entry get wrongly colored on left or right key use
      (LP: #868434)
    - [ibus] Pressing down when ibus is active moves focus (LP: #872730)
    - Double-click on the dash top panel is taken effect on the window
      underneith (LP: #870844)
 -- Didier Roche <email address hidden> Tue, 18 Oct 2011 12:47:54 +0200

Changed in unity (Ubuntu):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity - 4.24.0-0ubuntu2b1

---------------
unity (4.24.0-0ubuntu2b1) oneiric-proposed; urgency=low

  * No-change reupload because of broken powerpc build.

unity (4.24.0-0ubuntu2) oneiric-proposed; urgency=low

  * Cherry-pick upstream:
    - SRU0-Regression: scrollbar displacement caused dash rows to show less
      icons (LP: #875023)
    - Really reverts the UI change that was still uploaded even if we had
      reverted it…

unity (4.24.0-0ubuntu1) oneiric-proposed; urgency=low

  * New upstream release and some cherry-pick:
    - compiz crashed with SIGSEGV in PluginClassHandler<UnityWindow,
      CompWindow, 0>::get() (LP: #864758)
    - unity panel menus don't stay open when clicked on second monitor
      (LP: #869196)
    - (oneiric) menu bar in wrong place and invisible (LP: #845856)
    - Lens range widgets do not function correctly (LP: #862996)
    - Cannot raise window from panel after minimize (LP: #863114)
    - unity-panel-service crashed with SIGSEGV in g_closure_invoke()
      (LP: #843280)
    - Windows get corrupted sometimes when semi-maximizing them. (LP: #865177)
    - Automaximization happens on unminimize (LP: #868930)
    - compiz crashed with SIGSEGV in nux::ROProperty<std::string>::operator
      std::string() (LP: #869109)
    - Dash - horizental divider line in between categories incorrectly drawn
      (LP: #841750)
    - F10 opens a random menu item when it should open the first one
      [regression] (LP: #862849)
    - Switching desktops after using showdesktop can cause hidden windows to
      become "active" (LP: #864503)
    - Clicking blank space on top panel doesn't raise maximized window to
      front (LP: #864708)
    - unity launcher loses track of deja-dup windows (LP: #865051)
    - Dash - App Lens 'Rating' filter behaves incorrectly (LP: #865482)
    - Launcher does not show on "Show desktop" (LP: #867959)
    - ibus character selection window not drawn (LP: #867885)
    - the dash's entry get wrongly colored on left or right key use
      (LP: #868434)
    - [ibus] Pressing down when ibus is active moves focus (LP: #872730)
    - Double-click on the dash top panel is taken effect on the window
      underneith (LP: #870844)
 -- Martin Pitt <email address hidden> Tue, 25 Oct 2011 07:01:51 +0200

Changed in unity (Ubuntu Oneiric):
status: Fix Committed → Fix Released
Gabor Kelemen (kelemeng) on 2011-12-11
Changed in ubuntu-translations:
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers