Merge lp://qastaging/~andreas-pokorny/mir/rebase-fix-1550050 into lp://qastaging/mir
Proposed by
Andreas Pokorny
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Daniel van Vugt | ||||
Approved revision: | no longer in the source branch. | ||||
Merged at revision: | 3397 | ||||
Proposed branch: | lp://qastaging/~andreas-pokorny/mir/rebase-fix-1550050 | ||||
Merge into: | lp://qastaging/mir | ||||
Diff against target: |
343 lines (+153/-31) 5 files modified
src/server/input/default_configuration.cpp (+14/-2) src/server/input/default_input_device_hub.cpp (+14/-8) src/server/input/key_repeat_dispatcher.cpp (+41/-0) src/server/input/key_repeat_dispatcher.h (+7/-4) tests/unit-tests/input/test_key_repeat_dispatcher.cpp (+77/-17) |
||||
To merge this branch: | bzr merge lp://qastaging/~andreas-pokorny/mir/rebase-fix-1550050 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Alan Griffiths | Approve | ||
Mir CI Bot | continuous-integration | Needs Fixing | |
Andreas Pokorny (community) | Needs Information | ||
Daniel van Vugt | Abstain | ||
Cemil Azizoglu (community) | Approve | ||
Review via email:
|
Commit message
Fixes the potential endless repeat on unplugged devices (LP: #1550050)
The key repeat dispatcher now reacts on the removal of input devices by resetting potentially still active repeat alarms. The integration here is a bit clumsy, since the input device hub needs the input dispatcher to forward device events. While the input dispatcher needs it to register at the input device hub as an observer.
Description of the change
This fix registers for device changes and then stops sending repeat events for removed devices.
A different approach to this one which requires adding a two step initialization will be proposed soon, but requires an ABI change in the input platform interface.
To post a comment you must log in.
PASSED: Continuous integration, rev:3386 /mir-jenkins. ubuntu. com/job/ mir-ci/ 560/ /mir-jenkins. ubuntu. com/job/ build-mir/ 448 /mir-jenkins. ubuntu. com/job/ build-0- fetch/478 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= vivid+overlay/ 470 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= xenial/ 470 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= clang,platform= mesa,release= vivid+overlay/ 457 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= clang,platform= mesa,release= vivid+overlay/ 457/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= xenial/ 457 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= xenial/ 457/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= cross-armhf, compiler= gcc,platform= android, release= vivid+overlay/ 457 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= cross-armhf, compiler= gcc,platform= android, release= vivid+overlay/ 457/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= i386,compiler= gcc,platform= android, release= vivid+overlay/ 457 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= i386,compiler= gcc,platform= android, release= vivid+overlay/ 457/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= i386,compiler= gcc,platform= mesa,release= xenial/ 457 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= i386,compiler= gcc,platform= mesa,release= xenial/ 457/artifact/ output/ *zip*/output. zip
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild: /mir-jenkins. ubuntu. com/job/ mir-ci/ 560/rebuild
https:/