Bug Hunting Session
Bug 96685 - EditEng AccessibleParagraph not focused on first use - KMFL doesn't swallow characters
Summary: EditEng AccessibleParagraph not focused on first use - KMFL doesn't swallow c...
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
3.5.0 release
Hardware: All Linux (All)
: medium normal
Assignee: Justin L
URL:
Whiteboard: target:5.2.0 target:5.1.1
Keywords: bibisected
Depends on:
Blocks:
 
Reported: 2015-12-23 10:55 UTC by Justin L
Modified: 2017-05-18 16:59 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Justin L 2015-12-23 10:55:41 UTC
EditEng objects (Writer:Insert Textbox for example) initially don't swallow KMFL composing characters. When the textbox is created, it is not marked as Active and mbGroupHasFocus returns false. Removing focus (by switching to another application for example) and then returning to the textbox sets the focus and then KMFL works.  (See Bug 91641 for more details about ibus/KMFL.)

Example1 using Writer or Draw with KMFL and GE keyboard enabled:
-Insert Textbox.
-type ";n".  It becomes ";ŋ".  It should have deleted the ";".
-switch to a different application and then come back to the textbox.  Type ";n" again.  This time it will remove the ";".

Example2 using Impress
-click in the textbox for "Click to add text".
-type ";n".  Notice that the composing character is not swallowed up.
-click in "Click to add Title".  From now on it will work.
Comment 1 Justin L 2015-12-23 11:05:45 UTC
This is a linux only - GTK only problem.  It can be avoided by using XMODIFIERS=@im=ibus GTK_IM_MODULE=xim libreoffice    OR    SAL_USE_VCLPLUGIN=gen

One way to code around the problem of not swallowing the very first keystroke is to set the focus on the very first child created in editEng/source/accessibility/AccessibleParaManger.cxx ::CreateChild.

One way to code around all other non-swallowed keystrokes is to initialize with mbGroupHasFocus = true instead of false in svx/source/accessibility/AccessibleTextHelper.cxx constructor.
Comment 2 Justin L 2015-12-29 13:24:29 UTC
fix proposed at https://gerrit.libreoffice.org/#/c/21002
Comment 3 Justin L 2016-01-05 15:27:27 UTC
accessible focus fix for editeng table cells proposed at  https://gerrit.libreoffice.org/21121
Comment 4 Björn Michaelsen 2016-01-12 12:21:51 UTC
This doesnt seem bibisected. Also the version set seems arbitrary?
Comment 5 Justin L 2016-01-12 14:17:39 UTC
Problem appears in earliest bibisect (LO 3.5) when checking tables in Draw.
Comment 6 Commit Notification 2016-01-18 04:32:39 UTC
Justin Luth committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=3b14cdf7386f41395d1b089c3b9dde7d4429cf38

tdf#96685 - set initial focus of accessible editeng objects

It will be available in 5.2.0.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 7 Commit Notification 2016-01-21 08:18:55 UTC
Justin Luth committed a patch related to this issue.
It has been pushed to "libreoffice-5-1":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=13bb526930749a2f45592c53fedb13f9508212fc&h=libreoffice-5-1

tdf#96685 - set initial focus of accessible editeng objects

It will be available in 5.1.1.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 8 Commit Notification 2016-02-08 15:34:50 UTC
Justin Luth committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=1fda8bf08123b521d9ad77eb542d7d1a3c63f54a

tdf#96685 - set focus of accessible table cells

It will be available in 5.2.0.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 9 Commit Notification 2016-03-09 16:51:27 UTC
Justin Luth committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=598e6a024163f1510d076000788b7745625f5ed5

tdf#96685 - ensure FindFocus a11y context is valid EditableText

It will be available in 5.2.0.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 10 Justin L 2017-02-20 08:30:30 UTC
(In reply to Commit Notification from comment #9)
This related commit caused a regression for Japanese input (bug 100903), which also caused a regression (bug 105256).