input method (OSK) not being hidden if app killed
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
unity-mir |
Invalid
|
High
|
Gerry Boland | ||
ubuntu-keyboard (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
unity-mir (Ubuntu) |
Invalid
|
High
|
Gerry Boland |
Bug Description
The osk is not always being hidden when an application is quit/terminated
Steps to reproduce:
1) launch dialer
2) launch notes app
3) click in a note to make osk appear
4) shell into phone, do ps auwx | grep qmlscene to find the pid of the notes-app
5) kill -9 <notes-app-pid>
Expected result:
- dialer app is shown, osk disappears
Actual result:
- dialer-app is shown, osk still visible
6) when in this state, if notes-app is relaunched from command line, the keyboard remains visible but typing on it does not cause input to go into notes-app. It only starts working after closing the keyboard by swiping down and reopening it.
This is causing problems with the following autopilot tests:
https:/
Related branches
- Bill Filler (community): Approve
- PS Jenkins bot: Approve (continuous-integration)
-
Diff: 31 lines (+10/-0)2 files modifiedsrc/plugin/inputmethod.cpp (+9/-0)
src/plugin/inputmethod.h (+1/-0)
Changed in unity-mir: | |
status: | New → Triaged |
importance: | Undecided → High |
Changed in unity-mir (Ubuntu): | |
importance: | Undecided → High |
status: | New → Triaged |
Changed in unity-mir (Ubuntu): | |
status: | Confirmed → In Progress |
Changed in unity-mir: | |
status: | Confirmed → In Progress |
Changed in ubuntu-keyboard (Ubuntu): | |
status: | New → Fix Committed |
Changed in unity-mir (Ubuntu): | |
status: | In Progress → Invalid |
Changed in unity-mir: | |
status: | In Progress → Invalid |
Changed in ubuntu-keyboard (Ubuntu): | |
importance: | Undecided → High |
Trying with this patch to unity-mir:
src/modules/ Unity/Applicati on/OSKControlle r.qml
onFocusedAppli cationIdChanged : {
print( "Focused app closed with OSK open, close OSK")
Qt.inputMetho d.hide( );
Connections {
target: ApplicationManager
if (__oskSurface != null) {
}
}
}
it prints at the correct time, but the OSK fails to close. Qt.inputMethod. hide() does not appear to function in shell. No idea why, but I do recall shell always had problems controlling OSK.
A better solution to this bug would be for when the focused app dies, the shell returns to the dash, not to the next focused app.