Merge lp://qastaging/~unity-team/qtmir/qtmir.api into lp://qastaging/qtmir
- qtmir.api
- Merge into trunk
Status: | Needs review |
---|---|
Proposed branch: | lp://qastaging/~unity-team/qtmir/qtmir.api |
Merge into: | lp://qastaging/qtmir |
Prerequisite: | lp://qastaging/~nick-dedekind/qtmir/miral-DisplayConfigurationStorage |
Diff against target: |
3478 lines (+1743/-612) 53 files modified
CMakeLists.txt (+3/-1) debian/changelog (+7/-0) debian/control (+29/-0) debian/gles-patches/convert-to-gles.patch (+27/-17) debian/libqtmirserver-dev.install (+3/-0) debian/libqtmirserver1.install (+1/-0) debian/qtmir-tests.install (+1/-1) debian/rules (+2/-0) demos/CMakeLists.txt (+1/-1) demos/qml-demo-client/main.cpp (+2/-2) demos/qml-demo-shell/CMakeLists.txt (+9/-0) demos/qml-demo-shell/main.cpp (+83/-10) include/qtmir/displayconfigurationpolicy.h (+70/-10) include/qtmir/displayconfigurationstorage.h (+61/-0) include/qtmir/miral/display_configuration_policy.h (+42/-0) include/qtmir/miral/display_configuration_storage.h (+6/-1) include/qtmir/mirserverapplication.h (+49/-0) include/qtmir/sessionauthorizer.h (+63/-20) include/qtmir/windowmanagementpolicy.h (+129/-0) src/modules/Unity/Application/CMakeLists.txt (+3/-1) src/modules/Unity/Application/taskcontroller.cpp (+1/-1) src/modules/Unity/Screens/CMakeLists.txt (+1/-1) src/platforms/mirserver/CMakeLists.txt (+103/-44) src/platforms/mirserver/displayconfigurationpolicy.cpp (+53/-39) src/platforms/mirserver/displayconfigurationstorage.cpp (+46/-0) src/platforms/mirserver/miral/CMakeLists.txt (+7/-2) src/platforms/mirserver/miral/display_configuration_policy.cpp (+21/-0) src/platforms/mirserver/miral/edid.cpp (+1/-1) src/platforms/mirserver/miral/persist_display_config.cpp (+57/-22) src/platforms/mirserver/miral/persist_display_config.h (+3/-4) src/platforms/mirserver/mirserverapplication.cpp (+53/-0) src/platforms/mirserver/mirserverintegration.cpp (+1/-1) src/platforms/mirserver/mirserverintegration.h (+2/-1) src/platforms/mirserver/qmirserver.cpp (+51/-0) src/platforms/mirserver/qmirserver.h (+24/-3) src/platforms/mirserver/qmirserver_p.cpp (+57/-16) src/platforms/mirserver/qmirserver_p.h (+12/-6) src/platforms/mirserver/qtmirserver.pc.in (+9/-0) src/platforms/mirserver/screensmodel.cpp (+1/-2) src/platforms/mirserver/windowcontroller.cpp (+2/-2) src/platforms/mirserver/windowcontroller.h (+4/-4) src/platforms/mirserver/wrappedsessionauthorizer.cpp (+134/-72) src/platforms/mirserver/wrappedsessionauthorizer.h (+39/-0) src/platforms/mirserver/wrappedwindowmanagementpolicy.cpp (+446/-297) src/platforms/mirserver/wrappedwindowmanagementpolicy.h (+13/-22) tests/mirserver/EventBuilder/CMakeLists.txt (+1/-1) tests/mirserver/QtEventFeeder/CMakeLists.txt (+1/-1) tests/mirserver/Screen/CMakeLists.txt (+3/-1) tests/mirserver/ScreensModel/CMakeLists.txt (+1/-1) tests/mirserver/miral/CMakeLists.txt (+2/-2) tests/mirserver/miral/edid_test.cpp (+1/-1) tests/modules/Application/CMakeLists.txt (+1/-1) tests/modules/WindowManager/CMakeLists.txt (+1/-0) |
To merge this branch: | bzr merge lp://qastaging/~unity-team/qtmir/qtmir.api |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Unity8 CI Bot (community) | continuous-integration | Approve | |
Gerry Boland (community) | Needs Fixing | ||
Daniel d'Andrada (community) | Abstain | ||
Michael Terry (community) | packaging | Needs Fixing | |
Review via email:
|
Commit message
API for qtmir
Description of the change
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
- 625. By Nick Dedekind
-
merged parent
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:625
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
Click here to trigger a rebuild:
https:/
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Gerry Boland (gerboland) wrote : | # |
=== modified file 'debian/control'
+Package: qtmir-dev
I suspect qtmir will evolve into a more typical library in time. Can you rename to libqtmir-dev
+Replaces: qtmir-android-dev,
where did you find this package? qtmir never had a -dev package before.
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Gerry Boland (gerboland) wrote : | # |
Copyrights need bumping to 2017
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Gerry Boland (gerboland) wrote : | # |
== added file 'include/
+class GuiServerApplic
"Gui" is redundant here, I'd rather "MirServerAppli
Good work on establishing an API that is as flexible as MirAL's.
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Gerry Boland (gerboland) wrote : | # |
+++ src/platforms/
last line
+}
missing a "// namespace qtmir"
+++ src/platforms/
+QSharedPointer
does it need to be shared?
around line 36, please add "// namespace" after the anonymous closing brace. And at EOF, another comment please. I get lost with namespaces.
+ : QGuiApplication
clever!
+++ src/platforms/
+ if (mode.size == newMode.size && mode.vrefresh_hz == newMode.
refresh_rate comparison is a floating point comparison, could be unreliable. Can you use something like qFuzzyCompare?
+++ src/platforms/
- QScopedPointer<
+ QSharedPointer<
Does it really need to be shared? AFAICS nobody else makes a copy of the QSharedPointer after construction.
+++ src/platforms/
+ static QSharedPointer<
+ char **argv);
It's your big entry point header file, make it pretty! Do line up these arguments, or just have on single line.
+++ src/platforms/
+auto buildDisplayCon
+-> std::shared_
I'm not a fan of this method definition style. Please stick to the old fashioned one.
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Gerry Boland (gerboland) wrote : | # |
+++ src/platforms/
We need to standardize names. "qtmir" was never a great name, it is unclear if mir server or client. "qtmirserver" is ideal, but I know I am annoyed when the debian package name doesn't match the name used for the pkgconfig.
Should we call the debian package libqtmirserver then?
+Requires: miral
We should require miral version 1.1
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Gerry Boland (gerboland) wrote : | # |
+ WrappedWindowMa
+ qtmir::
+ qtmir::
+ qtmir::AppNotifier &appNotifier,
+ const std::shared_
+ const qtmir::
Last two lines need & on the right, to be consistent
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Michael Terry (mterry) wrote : | # |
Looking at the packaging...
+Package: qtmir-dev
This should probably be called libqtmirserver-dev instead.
+Replaces: qtmir-android-dev,
What's qtmir-android-dev from?
+Depends: qtmir-desktop (= ${source:Version}) | qtmir-android (= ${source:Version}),
I believe you want binary:Version here.
+Description: Developer files for the Qt platform abstraction plugin for a
+ Mir server.
+ .
+ Contains header files required for development using QtMir.
The first line of the description is special, don't break it across lines. I'd do something like:
Description: Header files for QtMir
QtMir is a set of Qt5 components to enable one to write a Mir server with Qt.
It contains a QPA (Qt Platform Abstraction) plugin which creates and manages
a Mir server. It also exposes some internal Mir functionality.
.
This package contains the library headers for developers.
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Daniel d'Andrada (dandrader) wrote : | # |
There are conflicts with latest trunk.
"""
Text conflict in src/modules/
Text conflict in src/platforms/
Text conflict in src/platforms/
"""
- 626. By Nick Dedekind
-
merged trunk
- 627. By Nick Dedekind
-
packaging fixes
- 628. By Nick Dedekind
-
updated gles patch
- 629. By Nick Dedekind
-
GuiServerApplic
ation-> MirServerApplic ation - 630. By Nick Dedekind
-
comment updates
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:628
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: 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:
https:/
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:630
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: 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:
https:/
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Daniel d'Andrada (dandrader) wrote : | # |
Merges fine now.
- 631. By Nick Dedekind
-
merged with parent
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:631
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: 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:
https:/
- 632. By Michael Zanetti
-
add a dep to libmiral-dev
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Michael Zanetti (mzanetti) wrote : | # |
I've added a dep from to libqtmirserver-dev for libmiral-dev as pkgconfig for libqtmirserver requires that.
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:632
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: 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:
https:/
- 633. By Nick Dedekind
-
libqtmirserver1
- 634. By Nick Dedekind
-
updated gles patch
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:634
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: 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:
https:/
- 635. By Nick Dedekind
-
merged with parent
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:635
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: 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:
https:/
- 636. By Nick Dedekind
-
merged with parent
- 637. By Nick Dedekind
-
removed appnotifier and window notifier
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:636
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: 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:
https:/
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:637
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: 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:
https:/
- 638. By Nick Dedekind
-
review comments
- 639. By Nick Dedekind
-
consistency
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Nick Dedekind (nick-dedekind) wrote : | # |
> +++ src/platforms/
>
> last line
> +}
> missing a "// namespace qtmir"
>
>
> +++ src/platforms/
> +QSharedPointer
> does it need to be shared?
Both the QGuiApp and MirServerIntegr
>
> around line 36, please add "// namespace" after the anonymous closing brace.
> And at EOF, another comment please. I get lost with namespaces.
>
>
> + : QGuiApplication
> to ensure init called before QGuiApplication
> clever!
>
>
> +++ src/platforms/
> + if (mode.size == newMode.size && mode.vrefresh_hz == newMode.
> refresh_rate comparison is a floating point comparison, could be unreliable.
> Can you use something like qFuzzyCompare?
>
I've included qglobal and used qFuzzyCompare. Shouldn't really be doing that in the miral namespace. Mir doesn't seem to care about dodgey float compare :/
>
> +++ src/platforms/
> - QScopedPointer<
> + QSharedPointer<
> Does it really need to be shared? AFAICS nobody else makes a copy of the
> QSharedPointer after construction.
It's held by the MirServerApplic
>
>
> +++ src/platforms/
> + static QSharedPointer<
> + char **argv);
> It's your big entry point header file, make it pretty! Do line up these
> arguments, or just have on single line.
>
Done
>
> +++ src/platforms/
> +auto buildDisplayCon
> +-> std::shared_
> I'm not a fan of this method definition style. Please stick to the old
> fashioned one.
Done
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:639
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: 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:
https:/
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Gerry Boland (gerboland) wrote : | # |
+class BasicSetDisplay
+{
+public:
+ explicit BasicSetDisplay
+ ~BasicSetDispla
+
+ void operator(
You're making your life harder having the builder-applyer take QMirServer, instead of mir::Server. All of MirAL's building blocks use mir::Server, so if we go this route, we end up having to replace all of MirAL's bits. I think that's a bad idea.
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Gerry Boland (gerboland) wrote : | # |
Ok, on further reflection I think I see why you've done that. Because you want to register that implementation with QMirServer, so that you can refer to it later (i.e. it doesn't disappear into the depths of Mir can we cannot get at it again).
Can MirAL give us more api maybe? /me needs to think
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Albert Astals Cid (aacid) wrote : | # |
Text conflict in src/platforms/
Text conflict in src/platforms/
Text conflict in src/platforms/
3 conflicts encountered.
- 640. By Nick Dedekind
-
merged parent
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:640
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: 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:
https:/
- 641. By Nick Dedekind
-
added build dir to cmake path
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:641
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: 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:
https:/
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:641
https:/
Executed test runs:
FAILURE: https:/
FAILURE: https:/
Click here to trigger a rebuild:
https:/
- 642. By Nick Dedekind
-
merged with parent
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:642
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: 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:
https:/
- 643. By Nick Dedekind
-
reduce external WindowManagemen
tPolicy API
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:643
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: 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:
https:/
- 644. By Nick Dedekind
-
fixed miral include file
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:644
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: 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:
https:/
Unmerged revisions
- 644. By Nick Dedekind
-
fixed miral include file
- 643. By Nick Dedekind
-
reduce external WindowManagemen
tPolicy API - 642. By Nick Dedekind
-
merged with parent
- 641. By Nick Dedekind
-
added build dir to cmake path
- 640. By Nick Dedekind
-
merged parent
- 639. By Nick Dedekind
-
consistency
- 638. By Nick Dedekind
-
review comments
- 637. By Nick Dedekind
-
removed appnotifier and window notifier
- 636. By Nick Dedekind
-
merged with parent
- 635. By Nick Dedekind
-
merged with parent
FAILED: Continuous integration, rev:624 /unity8- jenkins. ubuntu. com/job/ lp-qtmir- ci/499/ /unity8- jenkins. ubuntu. com/job/ build/4096/ console /unity8- jenkins. ubuntu. com/job/ build-0- fetch/4124 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= xenial+ overlay/ 3964 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= xenial+ overlay/ 3964/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= zesty/3964 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= zesty/3964/ artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= xenial+ overlay/ 3964 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= xenial+ overlay/ 3964/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= zesty/3964/ console /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= xenial+ overlay/ 3964 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= xenial+ overlay/ 3964/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= zesty/3964/ console
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
Click here to trigger a rebuild: /unity8- jenkins. ubuntu. com/job/ lp-qtmir- ci/499/ rebuild
https:/