Mir

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
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: mp+288945@code.qastaging.launchpad.net

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.
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:3386
https://mir-jenkins.ubuntu.com/job/mir-ci/560/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-mir/448
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/478
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/470
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/470
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/457
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/457/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/457
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/457/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/457
        deb: https://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
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/457
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/457/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/457
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/457/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/560/rebuild

review: Approve (continuous-integration)
Revision history for this message
Cemil Azizoglu (cemil-azizoglu) wrote :

LGTM

review: Approve
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

The version is incorrect. Should be 0.21.0 in lp:mir

Also the changelog is incorrect for the same reason.

review: Needs Fixing
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Separate MPs are up to fix the above issues. You can just remove your version changes here...

review: Needs Fixing
Revision history for this message
Andreas Pokorny (andreas-pokorny) wrote :

ok removed the 'unreleased' changelog entry.
My understanding was that we will make another 0.20.3 release using what is currently in lp:mir - since there are no ABI breaks yet.

Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

FAILED: Continuous integration, rev:3387
https://mir-jenkins.ubuntu.com/job/mir-ci/572/
Executed test runs:
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-mir/467/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/497
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/489
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/489
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/476
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/476/artifact/output/*zip*/output.zip
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/476/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/476
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/476/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/476
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/476/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/476
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/476/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/572/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

lp:mir is series 0.21, which is clear in the launchpad config:
https://launchpad.net/mir

So lp:mir should always call itself series 0.21 until such time as that's released and we're working on series 0.22.

If you want to release a 0.20.3 then that must occur in lp:mir/0.20.

review: Abstain
Revision history for this message
Andreas Pokorny (andreas-pokorny) wrote :

Agreed. Depending on where we release from we do not need this MP!

review: Needs Information
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

We probably don't need this on trunk. Either we:

1. release 0.20.x from mir/0.20 - which already has this fix;
2. release a better solution (which I understand will break ABI) as 0.21; or,
3. we release 0.21 with this solution and apply the better solution in 0.22

I think we intend to release 0.20.3 and don't need this (yet).

review: Disapprove
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

FAILED: Continuous integration, rev:3387
https://mir-jenkins.ubuntu.com/job/mir-ci/578/
Executed test runs:
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-mir/475/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/505
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/497
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/497
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/484
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/484/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/484
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/484/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/484
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/484/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/484
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/484/artifact/output/*zip*/output.zip
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/484/console

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/578/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

> We probably don't need this on trunk. Either we:
>
> 1. release 0.20.x from mir/0.20 - which already has this fix;
> 2. release a better solution (which I understand will break ABI) as 0.21; or,
> 3. we release 0.21 with this solution and apply the better solution in 0.22
>
> I think we intend to release 0.20.3 and don't need this (yet).

...we went for option 3

review: Approve
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

The failure is due to more random display configuration API failures. We've had a lot of them lately.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches