Merge lp:~alan-griffiths/miral/deconflate-output-from-display into lp:miral
- deconflate-output-from-display
- Merge into trunk
Proposed by
Alan Griffiths
on 2017-07-28
| Status: | Merged |
|---|---|
| Approved by: | Alan Griffiths on 2017-07-31 |
| Approved revision: | 573 |
| Merged at revision: | 571 |
| Proposed branch: | lp:~alan-griffiths/miral/deconflate-output-from-display |
| Merge into: | lp:miral |
| Diff against target: |
494 lines (+69/-63) 12 files modified
debian/libmiral2.symbols (+1/-0) include/miral/window_manager_tools.h (+2/-2) miral-shell/floating_window_manager.cpp (+5/-5) miral-shell/tiling_window_manager.cpp (+4/-4) miral-shell/tiling_window_manager.h (+1/-1) miral/basic_window_manager.cpp (+43/-43) miral/basic_window_manager.h (+2/-2) miral/symbols.map (+1/-0) miral/window_management_trace.cpp (+2/-2) miral/window_management_trace.h (+1/-1) miral/window_manager_tools.cpp (+6/-2) miral/window_manager_tools_implementation.h (+1/-1) |
| To merge this branch: | bzr merge lp:~alan-griffiths/miral/deconflate-output-from-display |
| Related bugs: |
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Gerry Boland | 2017-07-28 | Approve on 2017-07-31 | |
| Mir CI Bot | continuous-integration | Approve on 2017-07-28 | |
|
Review via email:
|
|||
Commit Message
Correct some conflation of the display and the outputs it includes
Description of the Change
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
| 1 | === modified file 'debian/libmiral2.symbols' |
| 2 | --- debian/libmiral2.symbols 2017-07-26 10:52:45 +0000 |
| 3 | +++ debian/libmiral2.symbols 2017-07-28 13:57:06 +0000 |
| 4 | @@ -395,3 +395,4 @@ |
| 5 | (c++)"typeinfo for miral::WindowManagementPolicyAddendum2@MIRAL_1.4.0" 1.4.0 |
| 6 | MIRAL_1.5.0@MIRAL_1.5.0 1.5.0 |
| 7 | (c++)"typeinfo for miral::WindowManagementPolicyAddendum3@MIRAL_1.5.0" 1.5.0 |
| 8 | + (c++)"miral::WindowManagerTools::active_output()@MIRAL_1.5.0" 1.5.0 |
| 9 | \ No newline at end of file |
| 10 | |
| 11 | === modified file 'include/miral/window_manager_tools.h' |
| 12 | --- include/miral/window_manager_tools.h 2017-03-23 11:25:25 +0000 |
| 13 | +++ include/miral/window_manager_tools.h 2017-07-28 13:57:06 +0000 |
| 14 | @@ -160,8 +160,8 @@ |
| 15 | /// Find the topmost window at the cursor |
| 16 | auto window_at(mir::geometry::Point cursor) const -> Window; |
| 17 | |
| 18 | - /// Find the active display area |
| 19 | - auto active_display() -> mir::geometry::Rectangle const; |
| 20 | + /// Find the active output area |
| 21 | + auto active_output() -> mir::geometry::Rectangle const; |
| 22 | |
| 23 | /// Raise window and all its children |
| 24 | void raise_tree(Window const& root); |
| 25 | |
| 26 | === modified file 'miral-shell/floating_window_manager.cpp' |
| 27 | --- miral-shell/floating_window_manager.cpp 2017-07-28 13:43:24 +0000 |
| 28 | +++ miral-shell/floating_window_manager.cpp 2017-07-28 13:57:06 +0000 |
| 29 | @@ -468,7 +468,7 @@ |
| 30 | { |
| 31 | if (auto active_window = tools.active_window()) |
| 32 | { |
| 33 | - auto active_display = tools.active_display(); |
| 34 | + auto active_output = tools.active_output(); |
| 35 | auto& window_info = tools.info_for(active_window); |
| 36 | WindowSpecification modifications; |
| 37 | |
| 38 | @@ -477,13 +477,13 @@ |
| 39 | case KEY_LEFT: |
| 40 | modifications.state() = mir_window_state_vertmaximized; |
| 41 | tools.place_and_size_for_state(modifications, window_info); |
| 42 | - modifications.top_left() = active_display.top_left + title_bar_height; |
| 43 | + modifications.top_left() = active_output.top_left + title_bar_height; |
| 44 | break; |
| 45 | |
| 46 | case KEY_RIGHT: |
| 47 | modifications.state() = mir_window_state_vertmaximized; |
| 48 | tools.place_and_size_for_state(modifications, window_info); |
| 49 | - modifications.top_left() = active_display.top_right() - |
| 50 | + modifications.top_left() = active_output.top_right() - |
| 51 | as_displacement({active_window.size().width, 0}) + title_bar_height; |
| 52 | break; |
| 53 | |
| 54 | @@ -491,14 +491,14 @@ |
| 55 | modifications.state() = mir_window_state_horizmaximized; |
| 56 | tools.place_and_size_for_state(modifications, window_info); |
| 57 | |
| 58 | - modifications.top_left() = active_display.top_left + title_bar_height; |
| 59 | + modifications.top_left() = active_output.top_left + title_bar_height; |
| 60 | break; |
| 61 | |
| 62 | case KEY_DOWN: |
| 63 | modifications.state() = mir_window_state_horizmaximized; |
| 64 | tools.place_and_size_for_state(modifications, window_info); |
| 65 | |
| 66 | - modifications.top_left() = active_display.bottom_right() - as_displacement( |
| 67 | + modifications.top_left() = active_output.bottom_right() - as_displacement( |
| 68 | modifications.size().is_set() ? modifications.size().value() : active_window.size()); |
| 69 | break; |
| 70 | |
| 71 | |
| 72 | === modified file 'miral-shell/tiling_window_manager.cpp' |
| 73 | --- miral-shell/tiling_window_manager.cpp 2017-07-24 15:30:22 +0000 |
| 74 | +++ miral-shell/tiling_window_manager.cpp 2017-07-28 13:57:06 +0000 |
| 75 | @@ -457,13 +457,13 @@ |
| 76 | { return spinner.session() != info.application() && tile_for(info).contains(position);}); |
| 77 | } |
| 78 | |
| 79 | -void TilingWindowManagerPolicy::update_tiles(Rectangles const& displays) |
| 80 | +void TilingWindowManagerPolicy::update_tiles(Rectangles const& outputs) |
| 81 | { |
| 82 | auto const tile_count = tiles.count(); |
| 83 | |
| 84 | - if (tile_count < 1 || displays.size() < 1) return; |
| 85 | + if (tile_count < 1 || outputs.size() < 1) return; |
| 86 | |
| 87 | - auto const bounding_rect = displays.bounding_rectangle(); |
| 88 | + auto const bounding_rect = outputs.bounding_rectangle(); |
| 89 | |
| 90 | auto const total_width = bounding_rect.size.width.as_int(); |
| 91 | auto const total_height = bounding_rect.size.height.as_int(); |
| 92 | @@ -674,7 +674,7 @@ |
| 93 | { |
| 94 | if (dirty_displays) |
| 95 | { |
| 96 | - // Need to acquire lock before accessing displays & dirty_tiles |
| 97 | + // Need to acquire lock before accessing outputs & dirty_tiles |
| 98 | tools.invoke_under_lock([this] |
| 99 | { |
| 100 | displays = live_displays; |
| 101 | |
| 102 | === modified file 'miral-shell/tiling_window_manager.h' |
| 103 | --- miral-shell/tiling_window_manager.h 2017-03-06 09:26:44 +0000 |
| 104 | +++ miral-shell/tiling_window_manager.h 2017-07-28 13:57:06 +0000 |
| 105 | @@ -95,7 +95,7 @@ |
| 106 | |
| 107 | miral::Application application_under(Point position); |
| 108 | |
| 109 | - void update_tiles(Rectangles const& displays); |
| 110 | + void update_tiles(Rectangles const& outputs); |
| 111 | void update_surfaces(miral::ApplicationInfo& info, Rectangle const& old_tile, Rectangle const& new_tile); |
| 112 | |
| 113 | auto transform_set_state(MirWindowState value) -> MirWindowState; |
| 114 | |
| 115 | === modified file 'miral/basic_window_manager.cpp' |
| 116 | --- miral/basic_window_manager.cpp 2017-07-28 08:54:30 +0000 |
| 117 | +++ miral/basic_window_manager.cpp 2017-07-28 13:57:06 +0000 |
| 118 | @@ -727,7 +727,7 @@ |
| 119 | return surface_at ? info_for(surface_at).window() : Window{}; |
| 120 | } |
| 121 | |
| 122 | -auto miral::BasicWindowManager::active_display() |
| 123 | +auto miral::BasicWindowManager::active_output() |
| 124 | -> geometry::Rectangle const |
| 125 | { |
| 126 | geometry::Rectangle result; |
| 127 | @@ -739,13 +739,13 @@ |
| 128 | auto const surface_rect = surface->input_bounds(); |
| 129 | int max_overlap_area = -1; |
| 130 | |
| 131 | - for (auto const& display : displays) |
| 132 | + for (auto const& output : outputs) |
| 133 | { |
| 134 | - auto const intersection = surface_rect.intersection_with(display).size; |
| 135 | + auto const intersection = surface_rect.intersection_with(output).size; |
| 136 | if (intersection.width.as_int()*intersection.height.as_int() > max_overlap_area) |
| 137 | { |
| 138 | max_overlap_area = intersection.width.as_int()*intersection.height.as_int(); |
| 139 | - result = display; |
| 140 | + result = output; |
| 141 | } |
| 142 | } |
| 143 | return result; |
| 144 | @@ -757,20 +757,20 @@ |
| 145 | // available. |
| 146 | |
| 147 | // 3. Otherwise, the display that contains the pointer, if there is one. |
| 148 | - for (auto const& display : displays) |
| 149 | + for (auto const& output : outputs) |
| 150 | { |
| 151 | - if (display.contains(cursor)) |
| 152 | + if (output.contains(cursor)) |
| 153 | { |
| 154 | // Ignore the (unspecified) possiblity of overlapping displays |
| 155 | - return display; |
| 156 | + return output; |
| 157 | } |
| 158 | } |
| 159 | |
| 160 | // 4. Otherwise, the primary display, if there is one (for example, the laptop display). |
| 161 | |
| 162 | // 5. Otherwise, the first display. |
| 163 | - if (displays.size()) |
| 164 | - result = *displays.begin(); |
| 165 | + if (outputs.size()) |
| 166 | + result = *outputs.begin(); |
| 167 | |
| 168 | return result; |
| 169 | } |
| 170 | @@ -1042,7 +1042,7 @@ |
| 171 | return; |
| 172 | } |
| 173 | |
| 174 | - auto const display_area = displays.bounding_rectangle(); |
| 175 | + auto const display_area = outputs.bounding_rectangle(); |
| 176 | auto const window = window_info.window(); |
| 177 | |
| 178 | auto restore_rect = window_info.restore_rect(); |
| 179 | @@ -1450,7 +1450,7 @@ |
| 180 | if (!parameters.state().is_set()) |
| 181 | parameters.state() = mir_window_state_restored; |
| 182 | |
| 183 | - auto const active_display_area = active_display(); |
| 184 | + auto const active_output_area = active_output(); |
| 185 | auto const height = parameters.size().value().height.as_int(); |
| 186 | |
| 187 | bool positioned = false; |
| 188 | @@ -1525,35 +1525,35 @@ |
| 189 | |
| 190 | if (!positioned) |
| 191 | { |
| 192 | - auto centred = active_display_area.top_left |
| 193 | - + 0.5*(as_displacement(active_display_area.size) - as_displacement(parameters.size().value())) |
| 194 | - - DeltaY{(active_display_area.size.height.as_int()-height)/6}; |
| 195 | + auto centred = active_output_area.top_left |
| 196 | + + 0.5*(as_displacement(active_output_area.size) - as_displacement(parameters.size().value())) |
| 197 | + - DeltaY{(active_output_area.size.height.as_int()-height)/6}; |
| 198 | |
| 199 | switch (parameters.state().value()) |
| 200 | { |
| 201 | case mir_window_state_fullscreen: |
| 202 | case mir_window_state_maximized: |
| 203 | - parameters.top_left() = active_display_area.top_left; |
| 204 | - parameters.size() = active_display_area.size; |
| 205 | + parameters.top_left() = active_output_area.top_left; |
| 206 | + parameters.size() = active_output_area.size; |
| 207 | break; |
| 208 | |
| 209 | case mir_window_state_vertmaximized: |
| 210 | - centred.y = active_display_area.top_left.y; |
| 211 | + centred.y = active_output_area.top_left.y; |
| 212 | parameters.top_left() = centred; |
| 213 | - parameters.size() = Size{parameters.size().value().width, active_display_area.size.height}; |
| 214 | + parameters.size() = Size{parameters.size().value().width, active_output_area.size.height}; |
| 215 | break; |
| 216 | |
| 217 | case mir_window_state_horizmaximized: |
| 218 | - centred.x = active_display_area.top_left.x; |
| 219 | + centred.x = active_output_area.top_left.x; |
| 220 | parameters.top_left() = centred; |
| 221 | - parameters.size() = Size{active_display_area.size.width, parameters.size().value().height}; |
| 222 | + parameters.size() = Size{active_output_area.size.width, parameters.size().value().height}; |
| 223 | break; |
| 224 | |
| 225 | default: |
| 226 | parameters.top_left() = centred; |
| 227 | } |
| 228 | |
| 229 | - auto const display_area = displays.bounding_rectangle(); |
| 230 | + auto const display_area = outputs.bounding_rectangle(); |
| 231 | |
| 232 | if (parameters.top_left().value().y < display_area.top_left.y) |
| 233 | parameters.top_left() = Point{parameters.top_left().value().x, display_area.top_left.y}; |
| 234 | @@ -1750,7 +1750,7 @@ |
| 235 | -> mir::optional_value<Rectangle> |
| 236 | { |
| 237 | auto const hints = parameters.placement_hints().value(); |
| 238 | - auto const active_display_area = active_display(); |
| 239 | + auto const active_output_area = active_output(); |
| 240 | auto const win_gravity = parameters.window_placement_gravity().value(); |
| 241 | |
| 242 | if (parameters.size().is_set()) |
| 243 | @@ -1775,7 +1775,7 @@ |
| 244 | auto result = constrain_to(parent, anchor_for(aux_rect, rect_gravity) + offset) + |
| 245 | offset_for(size, win_gravity); |
| 246 | |
| 247 | - if (active_display_area.contains(Rectangle{result, size})) |
| 248 | + if (active_output_area.contains(Rectangle{result, size})) |
| 249 | return Rectangle{result, size}; |
| 250 | |
| 251 | if (!default_result.is_set()) |
| 252 | @@ -1787,7 +1787,7 @@ |
| 253 | auto result = constrain_to(parent, anchor_for(aux_rect, flip_x(rect_gravity)) + flip_x(offset)) + |
| 254 | offset_for(size, flip_x(win_gravity)); |
| 255 | |
| 256 | - if (active_display_area.contains(Rectangle{result, size})) |
| 257 | + if (active_output_area.contains(Rectangle{result, size})) |
| 258 | return Rectangle{result, size}; |
| 259 | } |
| 260 | |
| 261 | @@ -1796,7 +1796,7 @@ |
| 262 | auto result = constrain_to(parent, anchor_for(aux_rect, flip_y(rect_gravity)) + flip_y(offset)) + |
| 263 | offset_for(size, flip_y(win_gravity)); |
| 264 | |
| 265 | - if (active_display_area.contains(Rectangle{result, size})) |
| 266 | + if (active_output_area.contains(Rectangle{result, size})) |
| 267 | return Rectangle{result, size}; |
| 268 | } |
| 269 | |
| 270 | @@ -1805,7 +1805,7 @@ |
| 271 | auto result = constrain_to(parent, anchor_for(aux_rect, flip_x(flip_y(rect_gravity))) + flip_x(flip_y(offset))) + |
| 272 | offset_for(size, flip_x(flip_y(win_gravity))); |
| 273 | |
| 274 | - if (active_display_area.contains(Rectangle{result, size})) |
| 275 | + if (active_output_area.contains(Rectangle{result, size})) |
| 276 | return Rectangle{result, size}; |
| 277 | } |
| 278 | } |
| 279 | @@ -1817,8 +1817,8 @@ |
| 280 | |
| 281 | if (hints & mir_placement_hints_slide_x) |
| 282 | { |
| 283 | - auto const left_overhang = result.x - active_display_area.top_left.x; |
| 284 | - auto const right_overhang = (result + as_displacement(size)).x - active_display_area.top_right().x; |
| 285 | + auto const left_overhang = result.x - active_output_area.top_left.x; |
| 286 | + auto const right_overhang = (result + as_displacement(size)).x - active_output_area.top_right().x; |
| 287 | |
| 288 | if (left_overhang < DeltaX{0}) |
| 289 | result -= left_overhang; |
| 290 | @@ -1828,8 +1828,8 @@ |
| 291 | |
| 292 | if (hints & mir_placement_hints_slide_y) |
| 293 | { |
| 294 | - auto const top_overhang = result.y - active_display_area.top_left.y; |
| 295 | - auto const bot_overhang = (result + as_displacement(size)).y - active_display_area.bottom_left().y; |
| 296 | + auto const top_overhang = result.y - active_output_area.top_left.y; |
| 297 | + auto const bot_overhang = (result + as_displacement(size)).y - active_output_area.bottom_left().y; |
| 298 | |
| 299 | if (top_overhang < DeltaY{0}) |
| 300 | result -= top_overhang; |
| 301 | @@ -1837,7 +1837,7 @@ |
| 302 | result -= bot_overhang; |
| 303 | } |
| 304 | |
| 305 | - if (active_display_area.contains(Rectangle{result, size})) |
| 306 | + if (active_output_area.contains(Rectangle{result, size})) |
| 307 | return Rectangle{result, size}; |
| 308 | } |
| 309 | |
| 310 | @@ -1848,8 +1848,8 @@ |
| 311 | |
| 312 | if (hints & mir_placement_hints_resize_x) |
| 313 | { |
| 314 | - auto const left_overhang = result.x - active_display_area.top_left.x; |
| 315 | - auto const right_overhang = (result + as_displacement(size)).x - active_display_area.top_right().x; |
| 316 | + auto const left_overhang = result.x - active_output_area.top_left.x; |
| 317 | + auto const right_overhang = (result + as_displacement(size)).x - active_output_area.top_right().x; |
| 318 | |
| 319 | if (left_overhang < DeltaX{0}) |
| 320 | { |
| 321 | @@ -1865,8 +1865,8 @@ |
| 322 | |
| 323 | if (hints & mir_placement_hints_resize_y) |
| 324 | { |
| 325 | - auto const top_overhang = result.y - active_display_area.top_left.y; |
| 326 | - auto const bot_overhang = (result + as_displacement(size)).y - active_display_area.bottom_left().y; |
| 327 | + auto const top_overhang = result.y - active_output_area.top_left.y; |
| 328 | + auto const bot_overhang = (result + as_displacement(size)).y - active_output_area.bottom_left().y; |
| 329 | |
| 330 | if (top_overhang < DeltaY{0}) |
| 331 | { |
| 332 | @@ -1880,7 +1880,7 @@ |
| 333 | } |
| 334 | } |
| 335 | |
| 336 | - if (active_display_area.contains(Rectangle{result, size})) |
| 337 | + if (active_output_area.contains(Rectangle{result, size})) |
| 338 | return Rectangle{result, size}; |
| 339 | } |
| 340 | |
| 341 | @@ -2149,7 +2149,7 @@ |
| 342 | void miral::BasicWindowManager::add_display_for_testing(mir::geometry::Rectangle const& area) |
| 343 | { |
| 344 | Locker lock{this}; |
| 345 | - displays.add(area); |
| 346 | + outputs.add(area); |
| 347 | |
| 348 | update_windows_for_outputs(); |
| 349 | } |
| 350 | @@ -2157,7 +2157,7 @@ |
| 351 | void miral::BasicWindowManager::advise_output_create(miral::Output const& output) |
| 352 | { |
| 353 | Locker lock{this}; |
| 354 | - displays.add(output.extents()); |
| 355 | + outputs.add(output.extents()); |
| 356 | |
| 357 | update_windows_for_outputs(); |
| 358 | } |
| 359 | @@ -2165,8 +2165,8 @@ |
| 360 | void miral::BasicWindowManager::advise_output_update(miral::Output const& updated, miral::Output const& original) |
| 361 | { |
| 362 | Locker lock{this}; |
| 363 | - displays.remove(original.extents()); |
| 364 | - displays.add(updated.extents()); |
| 365 | + outputs.remove(original.extents()); |
| 366 | + outputs.add(updated.extents()); |
| 367 | |
| 368 | update_windows_for_outputs(); |
| 369 | } |
| 370 | @@ -2174,7 +2174,7 @@ |
| 371 | void miral::BasicWindowManager::advise_output_delete(miral::Output const& output) |
| 372 | { |
| 373 | Locker lock{this}; |
| 374 | - displays.remove(output.extents()); |
| 375 | + outputs.remove(output.extents()); |
| 376 | |
| 377 | update_windows_for_outputs(); |
| 378 | } |
| 379 | @@ -2192,10 +2192,10 @@ |
| 380 | } |
| 381 | } |
| 382 | |
| 383 | - if (displays.size() == 0) |
| 384 | + if (outputs.size() == 0) |
| 385 | return; |
| 386 | |
| 387 | - auto const display_area = displays.bounding_rectangle(); |
| 388 | + auto const display_area = outputs.bounding_rectangle(); |
| 389 | |
| 390 | for (auto const& window : maximized_surfaces) |
| 391 | { |
| 392 | |
| 393 | === modified file 'miral/basic_window_manager.h' |
| 394 | --- miral/basic_window_manager.h 2017-07-28 08:54:30 +0000 |
| 395 | +++ miral/basic_window_manager.h 2017-07-28 13:57:06 +0000 |
| 396 | @@ -176,7 +176,7 @@ |
| 397 | |
| 398 | auto window_at(mir::geometry::Point cursor) const -> Window override; |
| 399 | |
| 400 | - auto active_display() -> mir::geometry::Rectangle const override; |
| 401 | + auto active_output() -> mir::geometry::Rectangle const override; |
| 402 | |
| 403 | void raise_tree(Window const& root) override; |
| 404 | void start_drag_and_drop(WindowInfo& window_info, std::vector<uint8_t> const& handle) override; |
| 405 | @@ -216,7 +216,7 @@ |
| 406 | std::mutex mutex; |
| 407 | SessionInfoMap app_info; |
| 408 | SurfaceInfoMap window_info; |
| 409 | - mir::geometry::Rectangles displays; |
| 410 | + mir::geometry::Rectangles outputs; |
| 411 | mir::geometry::Point cursor; |
| 412 | uint64_t last_input_event_timestamp{0}; |
| 413 | #if MIR_SERVER_VERSION >= MIR_VERSION_NUMBER(0, 27, 0) |
| 414 | |
| 415 | === modified file 'miral/symbols.map' |
| 416 | --- miral/symbols.map 2017-07-26 10:44:19 +0000 |
| 417 | +++ miral/symbols.map 2017-07-28 13:57:06 +0000 |
| 418 | @@ -429,6 +429,7 @@ |
| 419 | miral::WindowManagementPolicyAddendum3::?WindowManagementPolicyAddendum3*; |
| 420 | miral::WindowManagementPolicyAddendum3::WindowManagementPolicyAddendum3*; |
| 421 | miral::WindowManagementPolicyAddendum3::operator*; |
| 422 | + miral::WindowManagerTools::active_output*; |
| 423 | non-virtual?thunk?to?miral::WindowManagementPolicyAddendum3::?WindowManagementPolicyAddendum3*; |
| 424 | typeinfo?for?miral::WindowManagementPolicyAddendum3; |
| 425 | vtable?for?miral::WindowManagementPolicyAddendum3; |
| 426 | |
| 427 | === modified file 'miral/window_management_trace.cpp' |
| 428 | --- miral/window_management_trace.cpp 2017-03-21 17:55:31 +0000 |
| 429 | +++ miral/window_management_trace.cpp 2017-07-28 13:57:06 +0000 |
| 430 | @@ -448,10 +448,10 @@ |
| 431 | } |
| 432 | MIRAL_TRACE_EXCEPTION |
| 433 | |
| 434 | -auto miral::WindowManagementTrace::active_display() -> mir::geometry::Rectangle const |
| 435 | +auto miral::WindowManagementTrace::active_output() -> mir::geometry::Rectangle const |
| 436 | try { |
| 437 | log_input(); |
| 438 | - auto result = wrapped.active_display(); |
| 439 | + auto result = wrapped.active_output(); |
| 440 | std::stringstream out; |
| 441 | out << result; |
| 442 | mir::log_info("%s -> ", __func__, out.str().c_str()); |
| 443 | |
| 444 | === modified file 'miral/window_management_trace.h' |
| 445 | --- miral/window_management_trace.h 2017-03-21 17:55:31 +0000 |
| 446 | +++ miral/window_management_trace.h 2017-07-28 13:57:06 +0000 |
| 447 | @@ -54,7 +54,7 @@ |
| 448 | virtual auto active_window() const -> Window override; |
| 449 | virtual auto select_active_window(Window const& hint) -> Window override; |
| 450 | virtual auto window_at(mir::geometry::Point cursor) const -> Window override; |
| 451 | - virtual auto active_display() -> mir::geometry::Rectangle const override; |
| 452 | + virtual auto active_output() -> mir::geometry::Rectangle const override; |
| 453 | virtual auto info_for_window_id(std::string const& id) const -> WindowInfo& override; |
| 454 | virtual auto id_for_window(Window const& window) const -> std::string override; |
| 455 | virtual void place_and_size_for_state(WindowSpecification& modifications, WindowInfo const& window_info) const override; |
| 456 | |
| 457 | === modified file 'miral/window_manager_tools.cpp' |
| 458 | --- miral/window_manager_tools.cpp 2017-03-21 17:55:31 +0000 |
| 459 | +++ miral/window_manager_tools.cpp 2017-07-28 13:57:06 +0000 |
| 460 | @@ -18,6 +18,7 @@ |
| 461 | |
| 462 | #include "miral/window_manager_tools.h" |
| 463 | #include "window_manager_tools_implementation.h" |
| 464 | +#include "both_versions.h" |
| 465 | |
| 466 | miral::WindowManagerTools::WindowManagerTools(WindowManagerToolsImplementation* tools) : |
| 467 | tools{tools} |
| 468 | @@ -77,8 +78,11 @@ |
| 469 | auto miral::WindowManagerTools::window_at(mir::geometry::Point cursor) const -> Window |
| 470 | { return tools->window_at(cursor); } |
| 471 | |
| 472 | -auto miral::WindowManagerTools::active_display() -> mir::geometry::Rectangle const |
| 473 | -{ return tools->active_display(); } |
| 474 | +MIRAL_FAKE_OLD_SYMBOL( |
| 475 | + _ZN5miral18WindowManagerTools14active_displayEv, |
| 476 | + _ZN5miral18WindowManagerTools13active_outputEv) |
| 477 | +auto miral::WindowManagerTools::active_output() -> mir::geometry::Rectangle const |
| 478 | +{ return tools->active_output(); } |
| 479 | |
| 480 | void miral::WindowManagerTools::raise_tree(Window const& root) |
| 481 | { tools->raise_tree(root); } |
| 482 | |
| 483 | === modified file 'miral/window_manager_tools_implementation.h' |
| 484 | --- miral/window_manager_tools_implementation.h 2017-03-21 17:55:31 +0000 |
| 485 | +++ miral/window_manager_tools_implementation.h 2017-07-28 13:57:06 +0000 |
| 486 | @@ -65,7 +65,7 @@ |
| 487 | virtual void focus_next_within_application() = 0; |
| 488 | virtual void focus_prev_within_application() = 0; |
| 489 | virtual auto window_at(mir::geometry::Point cursor) const -> Window = 0; |
| 490 | - virtual auto active_display() -> mir::geometry::Rectangle const = 0; |
| 491 | + virtual auto active_output() -> mir::geometry::Rectangle const = 0; |
| 492 | virtual void raise_tree(Window const& root) = 0; |
| 493 | virtual void start_drag_and_drop(WindowInfo& window_info, std::vector<uint8_t> const& handle) = 0; |
| 494 | virtual void end_drag_and_drop() = 0; |

PASSED: Continuous integration, rev:573 /mir-jenkins. ubuntu. com/job/ miral-ci/ 58/ /mir-jenkins. ubuntu. com/job/ build-miral/ 90 /mir-jenkins. ubuntu. com/job/ build-0- fetch/5009 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= artful/ 4998 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= xenial/ 4998 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= zesty/4998 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- miral/arch= amd64,release= artful/ 94 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- miral/arch= amd64,release= artful/ 94/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- miral/arch= amd64,release= xenial/ 94 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- miral/arch= amd64,release= xenial/ 94/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- miral/arch= amd64,release= zesty/94 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- miral/arch= amd64,release= zesty/94/ artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- miral/arch= i386,release= artful/ 94 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- miral/arch= i386,release= artful/ 94/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- miral/arch= i386,release= xenial/ 94 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- miral/arch= i386,release= xenial/ 94/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- miral/arch= i386,release= zesty/94 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- miral/arch= i386,release= zesty/94/ artifact/ output/ *zip*/output. zip
https:/
Executed test runs:
SUCCESS: https:/
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:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild: /mir-jenkins. ubuntu. com/job/ miral-ci/ 58/rebuild
https:/