Merge lp:~dandrader/qtmir/miral-surfaceLocalPos into lp:qtmir
- miral-surfaceLocalPos
- Merge into trunk
Status: | Superseded |
---|---|
Proposed branch: | lp:~dandrader/qtmir/miral-surfaceLocalPos |
Merge into: | lp:qtmir |
Prerequisite: | lp:~unity-team/qtmir/miral-qt-integration |
Diff against target: |
320 lines (+129/-25) 6 files modified
src/common/debughelpers.cpp (+11/-16) src/modules/Unity/Application/mirsurface.cpp (+62/-7) src/modules/Unity/Application/mirsurface.h (+14/-1) src/modules/Unity/Application/surfacemanager.cpp (+38/-1) src/modules/Unity/Application/surfacemanager.h (+1/-0) tests/framework/fake_mirsurface.h (+3/-0) |
To merge this branch: | bzr merge lp:~dandrader/qtmir/miral-surfaceLocalPos |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Unity8 CI Bot (community) | continuous-integration | Needs Fixing | |
Gerry Boland (community) | code | Approve | |
Review via email: mp+311976@code.launchpad.net |
This proposal has been superseded by a proposal from 2016-11-29.
Commit message
Changes need for child windows support
- MirSurface:
- MirSurface:
- MirSurface:
Description of the change
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
Gerry Boland (gerboland) wrote : | # |
+ // assumes parent won't be detroyed before its children
typo.
Time will tell how correct this assumption is :)
Daniel d'Andrada (dandrader) wrote : | # |
On 29/11/2016 11:03, Gerry Boland wrote:
> Review: Needs Fixing
>
> + // assumes parent won't be detroyed before its children
> typo.
> Time will tell how correct this assumption is :)
Fixed.
Indeed.
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:589
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
Click here to trigger a rebuild:
https:/
Gerry Boland (gerboland) wrote : | # |
Code looks ok, not tested though
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:589
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
Click here to trigger a rebuild:
https:/
- 575. By Brandon Schaefer
-
Mir 0.25 compat
- 576. By CI Train Bot Account
-
Releasing 0.5.0+17.
04.20161203- 0ubuntu1 - 577. By CI Train Bot Account
-
First release using MirAL
- 578. By Daniel d'Andrada
-
Get rid of the ApplicationMana
ger::Factory class It's useless
Approved by: Gerry Boland, Unity8 CI Bot
- 579. By Daniel d'Andrada
-
Enable tests in Xenial
This workaround was needed only for the glib version present in Vivid
Approved by: Gerry Boland, Unity8 CI Bot
- 580. By CI Train Bot Account
-
Releasing 0.5.1+17.
04.20161216- 0ubuntu1 - 581. By Łukasz Zemczak
-
No-change rebuild against latest miral.
- 582. By Albert Astals Cid
-
Specify C++14 in a more CMake-ish way
Works better when building with Qt 5.7 otherwise one would say C++14, the other C++11 and things would not work out (LP: #1653902)
Approved by: Gerry Boland
- 583. By CI Train Bot Account
-
Releasing 0.5.1+17.
04.20170104- 0ubuntu1 - 584. By CI Train Bot Account
-
Resync trunk.
- 585. By Lukáš Tinkl
-
Some assorted cleanups and small optimizations
Approved by: Gerry Boland, Unity8 CI Bot
- 586. By Lukáš Tinkl
-
Apply default device keymap (LP: #1626435)
Approved by: Gerry Boland, Unity8 CI Bot
- 587. By Gerry Boland
-
Recalculate MirSurface.visible after first frame swap by client
Fixes issue where OSK would be invisible at startup (LP: #1649077)
Approved by: Nick Dedekind, Unity8 CI Bot
- 588. By CI Train Bot Account
-
Releasing 0.5.1+17.
04.20170124- 0ubuntu1 - 589. By Cemil Azizoglu
-
Mir 0.26 compatibility branch for QtMir.
Approved by: Gerry Boland
- 590. By CI Train Bot Account
-
Releasing 0.5.1+17.
04.20170127- 0ubuntu1 - 591. By Daniel d'Andrada
-
MirSurface: parentSurface, childSurfaceList and position in local coords
Unmerged revisions
Preview Diff
1 | === modified file 'src/common/debughelpers.cpp' | |||
2 | --- src/common/debughelpers.cpp 2016-11-29 13:05:57 +0000 | |||
3 | +++ src/common/debughelpers.cpp 2016-11-29 13:05:57 +0000 | |||
4 | @@ -115,23 +115,18 @@ | |||
5 | 115 | const char *mirSurfaceTypeToStr(int value) | 115 | const char *mirSurfaceTypeToStr(int value) |
6 | 116 | { | 116 | { |
7 | 117 | switch (value) { | 117 | switch (value) { |
24 | 118 | case mir_surface_type_normal: | 118 | case mir_surface_type_normal: return "normal"; /**< AKA "regular" */ |
25 | 119 | return "normal"; | 119 | case mir_surface_type_utility: return "utility"; /**< AKA "floating regular" */ |
26 | 120 | case mir_surface_type_utility: | 120 | case mir_surface_type_dialog: return "dialog"; |
27 | 121 | return "utility"; | 121 | case mir_surface_type_gloss: return "gloss"; |
28 | 122 | case mir_surface_type_dialog: | 122 | case mir_surface_type_freestyle: return "freestyle"; |
29 | 123 | return "dialog"; | 123 | case mir_surface_type_menu: return "menu"; |
30 | 124 | case mir_surface_type_overlay: | 124 | case mir_surface_type_inputmethod: return "input Method"; /**< AKA "OSK" or handwriting etc. */ |
31 | 125 | return "overlay"; | 125 | case mir_surface_type_satellite: return "satellite"; /**< AKA "toolbox"/"toolbar" */ |
32 | 126 | case mir_surface_type_freestyle: | 126 | case mir_surface_type_tip: return "tip"; /**< AKA "tooltip" */ |
33 | 127 | return "freestyle"; | 127 | case mir_surface_types: Q_UNREACHABLE(); |
18 | 128 | case mir_surface_type_popover: | ||
19 | 129 | return "popover"; | ||
20 | 130 | case mir_surface_type_inputmethod: | ||
21 | 131 | return "inputmethod"; | ||
22 | 132 | default: | ||
23 | 133 | return "???"; | ||
34 | 134 | } | 128 | } |
35 | 129 | return ""; | ||
36 | 135 | } | 130 | } |
37 | 136 | 131 | ||
38 | 137 | const char *mirSurfaceStateToStr(int value) | 132 | const char *mirSurfaceStateToStr(int value) |
39 | 138 | 133 | ||
40 | === modified file 'src/modules/Unity/Application/mirsurface.cpp' | |||
41 | --- src/modules/Unity/Application/mirsurface.cpp 2016-11-29 13:05:57 +0000 | |||
42 | +++ src/modules/Unity/Application/mirsurface.cpp 2016-11-29 13:05:57 +0000 | |||
43 | @@ -47,6 +47,7 @@ | |||
44 | 47 | #include <limits> | 47 | #include <limits> |
45 | 48 | 48 | ||
46 | 49 | using namespace qtmir; | 49 | using namespace qtmir; |
47 | 50 | namespace unityapi = unity::shell::application; | ||
48 | 50 | 51 | ||
49 | 51 | #define DEBUG_MSG qCDebug(QTMIR_SURFACES).nospace() << "MirSurface[" << (void*)this << "," << appId() << "]::" << __func__ | 52 | #define DEBUG_MSG qCDebug(QTMIR_SURFACES).nospace() << "MirSurface[" << (void*)this << "," << appId() << "]::" << __func__ |
50 | 52 | #define WARNING_MSG qCWarning(QTMIR_SURFACES).nospace() << "MirSurface[" << (void*)this << "," << appId() << "]::" << __func__ | 53 | #define WARNING_MSG qCWarning(QTMIR_SURFACES).nospace() << "MirSurface[" << (void*)this << "," << appId() << "]::" << __func__ |
51 | @@ -108,7 +109,8 @@ | |||
52 | 108 | 109 | ||
53 | 109 | MirSurface::MirSurface(NewWindow newWindowInfo, | 110 | MirSurface::MirSurface(NewWindow newWindowInfo, |
54 | 110 | WindowControllerInterface* controller, | 111 | WindowControllerInterface* controller, |
56 | 111 | SessionInterface *session) | 112 | SessionInterface *session, |
57 | 113 | MirSurface *parentSurface) | ||
58 | 112 | : MirSurfaceInterface() | 114 | : MirSurfaceInterface() |
59 | 113 | , m_window{newWindowInfo.windowInfo.window()} | 115 | , m_window{newWindowInfo.windowInfo.window()} |
60 | 114 | , m_extraInfo{getExtraInfo(newWindowInfo.windowInfo)} | 116 | , m_extraInfo{getExtraInfo(newWindowInfo.windowInfo)} |
61 | @@ -129,12 +131,19 @@ | |||
62 | 129 | , m_visible(newWindowInfo.windowInfo.is_visible()) | 131 | , m_visible(newWindowInfo.windowInfo.is_visible()) |
63 | 130 | , m_live(true) | 132 | , m_live(true) |
64 | 131 | , m_surfaceObserver(std::make_shared<SurfaceObserverImpl>()) | 133 | , m_surfaceObserver(std::make_shared<SurfaceObserverImpl>()) |
65 | 132 | , m_position(toQPoint(m_window.top_left())) | ||
66 | 133 | , m_size(toQSize(m_window.size())) | 134 | , m_size(toQSize(m_window.size())) |
67 | 134 | , m_state(toQtState(newWindowInfo.windowInfo.state())) | 135 | , m_state(toQtState(newWindowInfo.windowInfo.state())) |
68 | 135 | , m_shellChrome(Mir::NormalChrome) | 136 | , m_shellChrome(Mir::NormalChrome) |
69 | 137 | , m_parentSurface(parentSurface) | ||
70 | 138 | , m_childSurfaceList(new MirSurfaceListModel(this)) | ||
71 | 136 | { | 139 | { |
73 | 137 | DEBUG_MSG << "()"; | 140 | DEBUG_MSG << "(" |
74 | 141 | << "type=" << mirSurfaceTypeToStr(m_type) | ||
75 | 142 | << ",state=" << unityapiMirStateToStr(m_state) | ||
76 | 143 | << ",parentSurface=" << m_parentSurface | ||
77 | 144 | << ")"; | ||
78 | 145 | |||
79 | 146 | m_position = convertDisplayToLocalCoords(toQPoint(m_window.top_left())); | ||
80 | 138 | 147 | ||
81 | 139 | SurfaceObserver::registerObserverForSurface(m_surfaceObserver.get(), m_surface.get()); | 148 | SurfaceObserver::registerObserverForSurface(m_surfaceObserver.get(), m_surface.get()); |
82 | 140 | m_surface->add_observer(m_surfaceObserver); | 149 | m_surface->add_observer(m_surfaceObserver); |
83 | @@ -470,8 +479,9 @@ | |||
84 | 470 | return m_position; | 479 | return m_position; |
85 | 471 | } | 480 | } |
86 | 472 | 481 | ||
88 | 473 | void MirSurface::setPosition(const QPoint newPosition) | 482 | void MirSurface::setPosition(const QPoint newDisplayPosition) |
89 | 474 | { | 483 | { |
90 | 484 | QPoint newPosition = convertDisplayToLocalCoords(newDisplayPosition); | ||
91 | 475 | if (m_position != newPosition) { | 485 | if (m_position != newPosition) { |
92 | 476 | m_position = newPosition; | 486 | m_position = newPosition; |
93 | 477 | Q_EMIT positionChanged(newPosition); | 487 | Q_EMIT positionChanged(newPosition); |
94 | @@ -903,7 +913,9 @@ | |||
95 | 903 | void MirSurface::activate() | 913 | void MirSurface::activate() |
96 | 904 | { | 914 | { |
97 | 905 | DEBUG_MSG << "()"; | 915 | DEBUG_MSG << "()"; |
99 | 906 | m_controller->activate(m_window); | 916 | if (m_live) { |
100 | 917 | m_controller->activate(m_window); | ||
101 | 918 | } | ||
102 | 907 | } | 919 | } |
103 | 908 | 920 | ||
104 | 909 | void MirSurface::onCloseTimedOut() | 921 | void MirSurface::onCloseTimedOut() |
105 | @@ -914,7 +926,9 @@ | |||
106 | 914 | 926 | ||
107 | 915 | m_closingState = CloseOverdue; | 927 | m_closingState = CloseOverdue; |
108 | 916 | 928 | ||
110 | 917 | m_controller->forceClose(m_window); | 929 | if (m_live) { |
111 | 930 | m_controller->forceClose(m_window); | ||
112 | 931 | } | ||
113 | 918 | } | 932 | } |
114 | 919 | 933 | ||
115 | 920 | void MirSurface::setCloseTimer(AbstractTimer *timer) | 934 | void MirSurface::setCloseTimer(AbstractTimer *timer) |
116 | @@ -960,7 +974,12 @@ | |||
117 | 960 | if (point != m_requestedPosition) { | 974 | if (point != m_requestedPosition) { |
118 | 961 | m_requestedPosition = point; | 975 | m_requestedPosition = point; |
119 | 962 | Q_EMIT requestedPositionChanged(m_requestedPosition); | 976 | Q_EMIT requestedPositionChanged(m_requestedPosition); |
121 | 963 | m_controller->move(m_window, m_requestedPosition); | 977 | |
122 | 978 | QPoint requestedDisplayPos = convertLocalToDisplayCoords(m_requestedPosition); | ||
123 | 979 | |||
124 | 980 | if (m_live) { | ||
125 | 981 | m_controller->move(m_window, requestedDisplayPos); | ||
126 | 982 | } | ||
127 | 964 | } | 983 | } |
128 | 965 | } | 984 | } |
129 | 966 | 985 | ||
130 | @@ -1173,3 +1192,39 @@ | |||
131 | 1173 | DEBUG_MSG << "()"; | 1192 | DEBUG_MSG << "()"; |
132 | 1174 | Q_EMIT focusRequested(); | 1193 | Q_EMIT focusRequested(); |
133 | 1175 | } | 1194 | } |
134 | 1195 | |||
135 | 1196 | QPoint MirSurface::convertDisplayToLocalCoords(const QPoint &displayPos) const | ||
136 | 1197 | { | ||
137 | 1198 | QPoint localPos = displayPos; | ||
138 | 1199 | |||
139 | 1200 | if (m_surface->parent()) { | ||
140 | 1201 | auto parentPos = m_surface->parent()->top_left(); | ||
141 | 1202 | localPos.rx() -= parentPos.x.as_int(); | ||
142 | 1203 | localPos.ry() -= parentPos.y.as_int(); | ||
143 | 1204 | } | ||
144 | 1205 | |||
145 | 1206 | return localPos; | ||
146 | 1207 | } | ||
147 | 1208 | |||
148 | 1209 | QPoint MirSurface::convertLocalToDisplayCoords(const QPoint &localPos) const | ||
149 | 1210 | { | ||
150 | 1211 | QPoint displayPos = localPos; | ||
151 | 1212 | |||
152 | 1213 | if (m_surface->parent()) { | ||
153 | 1214 | auto parentPos = m_surface->parent()->top_left(); | ||
154 | 1215 | displayPos.rx() += parentPos.x.as_int(); | ||
155 | 1216 | displayPos.ry() += parentPos.y.as_int(); | ||
156 | 1217 | } | ||
157 | 1218 | |||
158 | 1219 | return displayPos; | ||
159 | 1220 | } | ||
160 | 1221 | |||
161 | 1222 | unityapi::MirSurfaceInterface *MirSurface::parentSurface() const | ||
162 | 1223 | { | ||
163 | 1224 | return m_parentSurface; | ||
164 | 1225 | } | ||
165 | 1226 | |||
166 | 1227 | unityapi::MirSurfaceListInterface *MirSurface::childSurfaceList() const | ||
167 | 1228 | { | ||
168 | 1229 | return m_childSurfaceList; | ||
169 | 1230 | } | ||
170 | 1176 | 1231 | ||
171 | === modified file 'src/modules/Unity/Application/mirsurface.h' | |||
172 | --- src/modules/Unity/Application/mirsurface.h 2016-11-29 13:05:57 +0000 | |||
173 | +++ src/modules/Unity/Application/mirsurface.h 2016-11-29 13:05:57 +0000 | |||
174 | @@ -43,6 +43,7 @@ | |||
175 | 43 | namespace qtmir { | 43 | namespace qtmir { |
176 | 44 | 44 | ||
177 | 45 | class AbstractTimer; | 45 | class AbstractTimer; |
178 | 46 | class MirSurfaceListModel; | ||
179 | 46 | class SessionInterface; | 47 | class SessionInterface; |
180 | 47 | 48 | ||
181 | 48 | class MirSurface : public MirSurfaceInterface | 49 | class MirSurface : public MirSurfaceInterface |
182 | @@ -52,7 +53,8 @@ | |||
183 | 52 | public: | 53 | public: |
184 | 53 | MirSurface(NewWindow windowInfo, | 54 | MirSurface(NewWindow windowInfo, |
185 | 54 | WindowControllerInterface *controller, | 55 | WindowControllerInterface *controller, |
187 | 55 | SessionInterface *session = nullptr); | 56 | SessionInterface *session = nullptr, |
188 | 57 | MirSurface *parentSurface = nullptr); | ||
189 | 56 | virtual ~MirSurface(); | 58 | virtual ~MirSurface(); |
190 | 57 | 59 | ||
191 | 58 | //// | 60 | //// |
192 | @@ -95,6 +97,10 @@ | |||
193 | 95 | bool confinesMousePointer() const override; | 97 | bool confinesMousePointer() const override; |
194 | 96 | 98 | ||
195 | 97 | Q_INVOKABLE void activate() override; | 99 | Q_INVOKABLE void activate() override; |
196 | 100 | |||
197 | 101 | unity::shell::application::MirSurfaceInterface *parentSurface() const override; | ||
198 | 102 | unity::shell::application::MirSurfaceListInterface *childSurfaceList() const override; | ||
199 | 103 | |||
200 | 98 | Q_INVOKABLE void close() override; | 104 | Q_INVOKABLE void close() override; |
201 | 99 | 105 | ||
202 | 100 | //// | 106 | //// |
203 | @@ -202,6 +208,8 @@ | |||
204 | 202 | void onMaximumHeightChanged(int maxHeight); | 208 | void onMaximumHeightChanged(int maxHeight); |
205 | 203 | void onWidthIncrementChanged(int incWidth); | 209 | void onWidthIncrementChanged(int incWidth); |
206 | 204 | void onHeightIncrementChanged(int incHeight); | 210 | void onHeightIncrementChanged(int incHeight); |
207 | 211 | QPoint convertDisplayToLocalCoords(const QPoint &displayPos) const; | ||
208 | 212 | QPoint convertLocalToDisplayCoords(const QPoint &localPos) const; | ||
209 | 205 | 213 | ||
210 | 206 | const miral::Window m_window; | 214 | const miral::Window m_window; |
211 | 207 | const std::shared_ptr<ExtraWindowInfo> m_extraInfo; | 215 | const std::shared_ptr<ExtraWindowInfo> m_extraInfo; |
212 | @@ -265,6 +273,11 @@ | |||
213 | 265 | }; | 273 | }; |
214 | 266 | ClosingState m_closingState{NotClosing}; | 274 | ClosingState m_closingState{NotClosing}; |
215 | 267 | AbstractTimer *m_closeTimer{nullptr}; | 275 | AbstractTimer *m_closeTimer{nullptr}; |
216 | 276 | |||
217 | 277 | // assumes parent won't be destroyed before its children | ||
218 | 278 | MirSurface *m_parentSurface; | ||
219 | 279 | |||
220 | 280 | MirSurfaceListModel *m_childSurfaceList; | ||
221 | 268 | }; | 281 | }; |
222 | 269 | 282 | ||
223 | 270 | } // namespace qtmir | 283 | } // namespace qtmir |
224 | 271 | 284 | ||
225 | === modified file 'src/modules/Unity/Application/surfacemanager.cpp' | |||
226 | --- src/modules/Unity/Application/surfacemanager.cpp 2016-11-29 13:05:57 +0000 | |||
227 | +++ src/modules/Unity/Application/surfacemanager.cpp 2016-11-29 13:05:57 +0000 | |||
228 | @@ -22,6 +22,13 @@ | |||
229 | 22 | // mirserver | 22 | // mirserver |
230 | 23 | #include "nativeinterface.h" | 23 | #include "nativeinterface.h" |
231 | 24 | 24 | ||
232 | 25 | // common | ||
233 | 26 | #include <debughelpers.h> | ||
234 | 27 | #include <mirqtconversion.h> | ||
235 | 28 | |||
236 | 29 | // Mir | ||
237 | 30 | #include <mir/scene/surface.h> | ||
238 | 31 | |||
239 | 25 | // Qt | 32 | // Qt |
240 | 26 | #include <QGuiApplication> | 33 | #include <QGuiApplication> |
241 | 27 | 34 | ||
242 | @@ -78,14 +85,34 @@ | |||
243 | 78 | } | 85 | } |
244 | 79 | } | 86 | } |
245 | 80 | } | 87 | } |
246 | 88 | |||
247 | 81 | void SurfaceManager::onWindowAdded(const NewWindow &window) | 89 | void SurfaceManager::onWindowAdded(const NewWindow &window) |
248 | 82 | { | 90 | { |
249 | 91 | { | ||
250 | 92 | std::shared_ptr<mir::scene::Surface> surface = window.surface; | ||
251 | 93 | DEBUG_MSG << " mir::scene::Surface[type=" << mirSurfaceTypeToStr(surface->type()) | ||
252 | 94 | << ",parent=" << (void*)(surface->parent().get()) | ||
253 | 95 | << ",state=" << mirSurfaceStateToStr(surface->state()) | ||
254 | 96 | << ",top_left=" << toQPoint(surface->top_left()) | ||
255 | 97 | << "]"; | ||
256 | 98 | } | ||
257 | 99 | |||
258 | 83 | auto mirSession = window.windowInfo.window().application(); | 100 | auto mirSession = window.windowInfo.window().application(); |
259 | 84 | SessionInterface* session = m_sessionManager->findSession(mirSession.get()); | 101 | SessionInterface* session = m_sessionManager->findSession(mirSession.get()); |
260 | 85 | 102 | ||
262 | 86 | auto surface = new MirSurface(window, m_windowController, session); | 103 | MirSurface *parentSurface; |
263 | 104 | { | ||
264 | 105 | std::shared_ptr<mir::scene::Surface> surface = window.windowInfo.window(); | ||
265 | 106 | parentSurface = find(surface->parent()); | ||
266 | 107 | } | ||
267 | 108 | |||
268 | 109 | auto surface = new MirSurface(window, m_windowController, session, parentSurface); | ||
269 | 87 | rememberMirSurface(surface); | 110 | rememberMirSurface(surface); |
270 | 88 | 111 | ||
271 | 112 | if (parentSurface) { | ||
272 | 113 | static_cast<MirSurfaceListModel*>(parentSurface->childSurfaceList())->prependSurface(surface); | ||
273 | 114 | } | ||
274 | 115 | |||
275 | 89 | if (session) | 116 | if (session) |
276 | 90 | session->registerSurface(surface); | 117 | session->registerSurface(surface); |
277 | 91 | 118 | ||
278 | @@ -114,6 +141,16 @@ | |||
279 | 114 | return nullptr; | 141 | return nullptr; |
280 | 115 | } | 142 | } |
281 | 116 | 143 | ||
282 | 144 | MirSurface *SurfaceManager::find(const std::shared_ptr<mir::scene::Surface> &needle) const | ||
283 | 145 | { | ||
284 | 146 | Q_FOREACH(const auto surface, m_allSurfaces) { | ||
285 | 147 | if (surface->window() == needle) { | ||
286 | 148 | return surface; | ||
287 | 149 | } | ||
288 | 150 | } | ||
289 | 151 | return nullptr; | ||
290 | 152 | } | ||
291 | 153 | |||
292 | 117 | void SurfaceManager::onWindowReady(const miral::WindowInfo &windowInfo) | 154 | void SurfaceManager::onWindowReady(const miral::WindowInfo &windowInfo) |
293 | 118 | { | 155 | { |
294 | 119 | if (auto mirSurface = find(windowInfo)) { | 156 | if (auto mirSurface = find(windowInfo)) { |
295 | 120 | 157 | ||
296 | === modified file 'src/modules/Unity/Application/surfacemanager.h' | |||
297 | --- src/modules/Unity/Application/surfacemanager.h 2016-11-29 13:05:57 +0000 | |||
298 | +++ src/modules/Unity/Application/surfacemanager.h 2016-11-29 13:05:57 +0000 | |||
299 | @@ -61,6 +61,7 @@ | |||
300 | 61 | void forgetMirSurface(const miral::Window &window); | 61 | void forgetMirSurface(const miral::Window &window); |
301 | 62 | MirSurface* find(const miral::WindowInfo &needle) const; | 62 | MirSurface* find(const miral::WindowInfo &needle) const; |
302 | 63 | MirSurface* find(const miral::Window &needle) const; | 63 | MirSurface* find(const miral::Window &needle) const; |
303 | 64 | MirSurface* find(const std::shared_ptr<mir::scene::Surface> &needle) const; | ||
304 | 64 | 65 | ||
305 | 65 | QVector<MirSurface*> m_allSurfaces; | 66 | QVector<MirSurface*> m_allSurfaces; |
306 | 66 | 67 | ||
307 | 67 | 68 | ||
308 | === modified file 'tests/framework/fake_mirsurface.h' | |||
309 | --- tests/framework/fake_mirsurface.h 2016-11-29 13:05:57 +0000 | |||
310 | +++ tests/framework/fake_mirsurface.h 2016-11-29 13:05:57 +0000 | |||
311 | @@ -79,6 +79,9 @@ | |||
312 | 79 | QRect inputBounds() const override { return QRect(0,0,10,10); } | 79 | QRect inputBounds() const override { return QRect(0,0,10,10); } |
313 | 80 | bool confinesMousePointer() const override { return false; } | 80 | bool confinesMousePointer() const override { return false; } |
314 | 81 | 81 | ||
315 | 82 | unity::shell::application::MirSurfaceInterface *parentSurface() const override { return nullptr; } | ||
316 | 83 | unity::shell::application::MirSurfaceListInterface *childSurfaceList() const override { return nullptr; } | ||
317 | 84 | |||
318 | 82 | void close() override { | 85 | void close() override { |
319 | 83 | Q_EMIT closeRequested(); | 86 | Q_EMIT closeRequested(); |
320 | 84 | } | 87 | } |
FAILED: Continuous integration, rev:588 /unity8- jenkins. ubuntu. com/job/ lp-qtmir- ci/415/ /unity8- jenkins. ubuntu. com/job/ build/3404/ console /unity8- jenkins. ubuntu. com/job/ build-0- fetch/3432 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= vivid+overlay/ 3283/console /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= xenial+ overlay/ 3283/console /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= zesty/3283/ console /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= vivid+overlay/ 3283/console /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= xenial+ overlay/ 3283/console /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= zesty/3283/ console /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= vivid+overlay/ 3283/console /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= xenial+ overlay/ 3283/console /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= zesty/3283/ console
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
Click here to trigger a rebuild: /unity8- jenkins. ubuntu. com/job/ lp-qtmir- ci/415/ rebuild
https:/