Merge lp://qastaging/~dandrader/qtmir/mouseMovement into lp://qastaging/qtmir

Proposed by Daniel d'Andrada
Status: Superseded
Proposed branch: lp://qastaging/~dandrader/qtmir/mouseMovement
Merge into: lp://qastaging/qtmir
Diff against target: 1222 lines (+511/-384)
20 files modified
debian/control (+2/-1)
src/modules/Unity/Application/mirsurface.cpp (+11/-146)
src/platforms/mirserver/CMakeLists.txt (+1/-0)
src/platforms/mirserver/eventbuilder.cpp (+249/-0)
src/platforms/mirserver/eventbuilder.h (+103/-0)
src/platforms/mirserver/qteventfeeder.cpp (+5/-0)
tests/CMakeLists.txt (+2/-0)
tests/framework/CMakeLists.txt (+1/-3)
tests/framework/mock_display.cpp (+0/-35)
tests/framework/mock_display.h (+0/-66)
tests/framework/mock_display_configuration.cpp (+0/-25)
tests/framework/mock_display_configuration.h (+0/-40)
tests/framework/mock_gl_display_buffer.cpp (+0/-30)
tests/framework/mock_gl_display_buffer.h (+4/-12)
tests/mirserver/CMakeLists.txt (+2/-1)
tests/mirserver/EventBuilder/CMakeLists.txt (+25/-0)
tests/mirserver/EventBuilder/eventbuilder_test.cpp (+77/-0)
tests/mirserver/ScreensModel/CMakeLists.txt (+1/-0)
tests/mirserver/ScreensModel/screensmodel_test.cpp (+9/-0)
tests/mirserver/ScreensModel/stub_display.h (+19/-25)
To merge this branch: bzr merge lp://qastaging/~dandrader/qtmir/mouseMovement
Reviewer Review Type Date Requested Status
Lukáš Tinkl (community) Needs Information
Gerry Boland (community) Approve
Unity8 CI Bot (community) continuous-integration Needs Fixing
Review via email: mp+303870@code.qastaging.launchpad.net

This proposal supersedes a proposal from 2016-08-05.

This proposal has been superseded by a proposal from 2016-09-01.

Commit message

Send relative pointer movement to Mir clients

Description of the change

* Are there any related MPs required for this MP to build/function as expected? Please list.
Needs a qtdeclaretive fix which has been backported to stable-phone-overlay but it's not yet in yakkety.

* Did you perform an exploratory manual test run of your code change and any related functionality?
Yes.

To test it build and install lp:~dandrader/qtubuntu/printMouseMovement and check console output of some qt-based application, such as unity8-dash.

* If you changed the packaging (debian), did you subscribe the ubuntu-unity team to this MP?
Not applicable.

To post a comment you must log in.
Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal

FAILED: Continuous integration, rev:531
https://unity8-jenkins.ubuntu.com/job/lp-qtmir-ci/322/
Executed test runs:
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build/2475/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2503
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2390
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2390
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2390
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2383
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2383/artifact/output/*zip*/output.zip
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2383/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2383
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2383/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2383
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2383/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2383
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2383/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2383
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2383/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2383
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2383/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2383
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2383/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2383
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2383/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-qtmir-ci/322/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Gerry Boland (gerboland) wrote : Posted in a previous version of this proposal

Very cool. How can I best test this?

review: Needs Information
Revision history for this message
Daniel d'Andrada (dandrader) wrote : Posted in a previous version of this proposal

> Very cool. How can I best test this?

It's explained in the MP description.

Revision history for this message
Gerry Boland (gerboland) wrote : Posted in a previous version of this proposal

+EventBuilder::EventBuilder()
+{
+ m_eventInfoVector.resize(10);
+}
can do:
EventBuilder::EventBuilder()
   : m_eventInfoVector(10)
{}

There is a lack of tests for EventBuilder.

The amount of work we have to do here is unfortunate - we must see if Mir can do somthing to make our lives easier - making a MirEvent writable would be a start, saving us re-creating them.

review: Needs Fixing
Revision history for this message
Daniel d'Andrada (dandrader) wrote : Posted in a previous version of this proposal

On 09/08/2016 10:39, Gerry Boland wrote:
> Review: Needs Fixing
>
> +EventBuilder::EventBuilder()
> +{
> + m_eventInfoVector.resize(10);
> +}
> can do:
> EventBuilder::EventBuilder()
> : m_eventInfoVector(10)
> {}

Done.

> There is a lack of tests for EventBuilder.

Added a test.

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal

PASSED: Continuous integration, rev:532
https://unity8-jenkins.ubuntu.com/job/lp-qtmir-ci/333/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/2516
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2544
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2425
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2425
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2425
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2418
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2418/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2418
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2418/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2418
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2418/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2418
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2418/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2418
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2418/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2418
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2418/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2418
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2418/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2418
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2418/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2418
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2418/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-qtmir-ci/333/rebuild

review: Approve (continuous-integration)
Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal

PASSED: Continuous integration, rev:533
https://unity8-jenkins.ubuntu.com/job/lp-qtmir-ci/334/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/2517
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2545
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2426
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2426
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2426
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2419
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2419/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2419
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2419/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2419
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2419/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2419
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2419/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2419
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2419/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2419
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2419/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2419
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2419/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2419
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2419/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2419
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2419/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-qtmir-ci/334/rebuild

review: Approve (continuous-integration)
Revision history for this message
Gerry Boland (gerboland) wrote : Posted in a previous version of this proposal

Yep, all good! Tests fine

We should work on the test readability and stick the mir::events::make_event calls into a helper function.

review: Approve
Revision history for this message
Daniel d'Andrada (dandrader) wrote :

Resubmitted to remove the prerequisite and fix a conflict against latest trunk.

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

FAILED: Continuous integration, rev:550
https://unity8-jenkins.ubuntu.com/job/lp-qtmir-ci/348/
Executed test runs:
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build/2665/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2693
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2566
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2566
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2566
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2560
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2560/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2560
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2560/artifact/output/*zip*/output.zip
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2560/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2560
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2560/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2560
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2560/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2560
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2560/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2560
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2560/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2560
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2560/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2560
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2560/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-qtmir-ci/348/rebuild

review: Needs Fixing (continuous-integration)
550. By Daniel d'Andrada

DBusFocusInfo.isPidFocused: search sessions recursively (LP: #1612166)

Approved by: Gerry Boland, Unity8 CI Bot

551. By Michał Sawicz

Revert r538 that's causing a unity8 crash when launching emergency dialer over greeter (LP: #1616842)

Approved by: Unity8 CI Bot

552. By CI Train Bot Account

Releasing 0.4.8+16.10.20160826.1-0ubuntu1

553. By Michał Sawicz

Build qtmir-android on arm64 for the need of valid libqpa-mirserver.so for ubuntu phone xenial arm64 porting.

554. By Łukasz Zemczak

Releasing 0.4.8+16.10.20160826.1-0ubuntu3

555. By Daniel d'Andrada

DBusFocusInfo: added isSurfaceFocused(serializedId)

Approved by: Michael Terry

556. By Daniel d'Andrada

Use content-hub for clipboard services

And remove our own implementation of such service (LP: #1471998)

Approved by: Michael Terry

557. By Daniel d'Andrada

Don't link tests against LTTng

LTTng was causing deadlocks when running tests on arm and on CI

Workaround for https://bugs.launchpad.net/bugs/1618201

This is the backtrace of where it gets stuck:
#0 0xffffffff in __pthread_mutex_unlock_usercnt (mutex=0xb6fff514 <_rtld_global+1220>, decr=1) at pthread_mutex_unlock.c:51
#1 0xffffffff in tls_get_addr_tail (ti=0xb637021c, dtv=0xb3757008, the_map=<optimized out>) at dl-tls.c:778
#2 0xffffffff in lttng_ust_init () at /usr/include/urcu/static/urcu-bp.h:158
#3 0xffffffff in lttng_ust_init () at lttng-ust-comm.c:369
#4 0xffffffff in lttng_ust_init () at lttng-ust-comm.c:1481
#5 0xffffffff in call_init (l=<optimized out>, argc=argc@entry=1, argv=argv@entry=0xbefff3d4, env=env@entry=0xbefff3dc) at dl-init.c:72
#6 0xffffffff in _dl_init (env=<optimized out>, argv=<optimized out>, argc=<optimized out>, l=<optimized out>) at dl-init.c:30
#7 0xffffffff in _dl_init (main_map=0xb6fff958, argc=1, argv=0xbefff3d4, env=0xbefff3dc) at dl-init.c:120
#8 0xffffffff in _dl_start_user () at /lib/ld-linux-armhf.so.3

It gets stuck during initialization, more specifically, inside lttng_fixup_urcu_bp_tls()

Approved by: Michael Terry

558. By CI Train Bot Account

Releasing 0.4.8+16.10.20160831-0ubuntu1

Revision history for this message
Gerry Boland (gerboland) wrote :

Ok

review: Approve
Revision history for this message
Lukáš Tinkl (lukas-kde) wrote :

Just a question here, in mir::EventUPtr EventBuilder::makeMirEvent(QWheelEvent *qtEvent):

auto timestamp = std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::milliseconds(qtEvent->timestamp()));

Why isn't this using uncompressTimestamp like all the other methods?

review: Needs Information
559. By Daniel d'Andrada

merge lp:~gerboland/qtmir/use-mir-test-dev

560. By Daniel d'Andrada

Send relative pointer movement to Mir clients

Unmerged revisions

560. By Daniel d'Andrada

Send relative pointer movement to Mir clients

559. By Daniel d'Andrada

merge lp:~gerboland/qtmir/use-mir-test-dev

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