Merge lp:unity-system-compositor/0.9 into lp:unity-system-compositor/ubuntu

Proposed by Cemil Azizoglu
Status: Merged
Approved by: Cemil Azizoglu
Approved revision: 305
Merged at revision: 257
Proposed branch: lp:unity-system-compositor/0.9
Merge into: lp:unity-system-compositor/ubuntu
Diff against target: 449 lines (+98/-82)
11 files modified
.bzrignore (+1/-0)
CMakeLists.txt (+1/-1)
debian/changelog (+6/-0)
debian/control (+2/-2)
spinner/eglapp.cpp (+34/-29)
spinner/miregl.cpp (+20/-20)
spinner/miregl.h (+2/-2)
src/mir_input_configuration.cpp (+16/-16)
src/mir_input_configuration.h (+5/-5)
tests/unit-tests/test_mir_input_configuration.cpp (+10/-7)
tests/unit-tests/test_session_switcher.cpp (+1/-0)
To merge this branch: bzr merge lp:unity-system-compositor/0.9
Reviewer Review Type Date Requested Status
Mir CI Bot continuous-integration Pending
Cemil Azizoglu Pending
Review via email: mp+314868@code.launchpad.net

Commit message

Mir 0.26 compatibility branch for USC.

Description of the change

Mir 0.26 compatibility branch for USC.

To post a comment you must log in.
Revision history for this message
Cemil Azizoglu (cemil-azizoglu) wrote :
lp:unity-system-compositor/0.9 updated
303. By CI Train Bot Account

Sync with distro and prepare trunk for next release.

Approved by mir-ci-bot, Alexandros Frantzis.

Revision history for this message
Cemil Azizoglu (cemil-azizoglu) wrote :
lp:unity-system-compositor/0.9 updated
304. By Cemil Azizoglu

Address more deprecations that landed on lp:mir since yesterday.

Approved by Alexandros Frantzis, mir-ci-bot.

305. By Cemil Azizoglu

Address deprecations in mir.

Approved by mir-ci-bot, Brandon Schaefer.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file '.bzrignore'
2--- .bzrignore 2013-04-09 04:47:20 +0000
3+++ .bzrignore 2017-01-24 17:18:47 +0000
4@@ -4,3 +4,4 @@
5 CMakeFiles
6 Makefile
7 src/dm_protocol.pb.*
8+.project
9
10=== modified file 'CMakeLists.txt'
11--- CMakeLists.txt 2016-11-09 21:39:42 +0000
12+++ CMakeLists.txt 2017-01-24 17:18:47 +0000
13@@ -16,7 +16,7 @@
14
15 project(UnitySystemCompositor)
16 set(USC_VERSION_MAJOR 0)
17-set(USC_VERSION_MINOR 8)
18+set(USC_VERSION_MINOR 9)
19 set(USC_VERSION_PATCH 0)
20 set(USC_VERSION "${USC_VERSION_MAJOR}.${USC_VERSION_MINOR}.${USC_VERSION_PATCH}")
21
22
23=== modified file 'debian/changelog'
24--- debian/changelog 2016-12-06 02:48:56 +0000
25+++ debian/changelog 2017-01-24 17:18:47 +0000
26@@ -1,3 +1,9 @@
27+unity-system-compositor (0.9.0-0ubuntu1) UNRELEASED; urgency=medium
28+
29+ * Update for compatibility with Mir 0.26
30+
31+ -- Cemil Azizoglu <cemil.azizoglu@canonical.com> Tue, 17 Jan 2017 10:58:13 -0600
32+
33 unity-system-compositor (0.8.0+17.04.20161206-0ubuntu1) zesty; urgency=medium
34
35 * 0.8.0 release, containing compatibility fixes for mir 0.25 release
36
37=== modified file 'debian/control'
38--- debian/control 2016-11-09 22:14:58 +0000
39+++ debian/control 2017-01-24 17:18:47 +0000
40@@ -16,8 +16,8 @@
41 libglib2.0-dev,
42 libgles2-mesa-dev,
43 libglm-dev,
44- libmirclient-dev (>= 0.25.0),
45- libmirserver-dev (>= 0.25.0),
46+ libmirclient-dev (>= 0.26.0),
47+ libmirserver-dev (>= 0.26.0),
48 pkg-config,
49 python3,
50 python3-setuptools,
51
52=== modified file 'spinner/eglapp.cpp'
53--- spinner/eglapp.cpp 2015-08-25 15:51:00 +0000
54+++ spinner/eglapp.cpp 2017-01-24 17:18:47 +0000
55@@ -32,24 +32,26 @@
56 MirConnection* const connection, ActiveOutputHandler const& handler)
57 {
58 /* eglapps are interested in the screen size, so
59- use mir_connection_create_display_config */
60- MirDisplayConfiguration* display_config =
61- mir_connection_create_display_config(connection);
62-
63- for (MirDisplayOutput* output = display_config->outputs;
64- output != display_config->outputs + display_config->num_outputs;
65- ++output)
66+ use mir_connection_create_display_configuration */
67+ MirDisplayConfig* display_config =
68+ mir_connection_create_display_configuration(connection);
69+
70+ auto num_outputs = mir_display_config_get_num_outputs(display_config);
71+
72+ for (auto i = 0; i < num_outputs; ++i)
73 {
74- if (output->used &&
75- output->connected &&
76- output->num_modes &&
77- output->current_mode < output->num_modes)
78+ auto output = mir_display_config_get_output(display_config, i);
79+ auto num_modes = mir_output_get_num_modes(output);
80+ if (mir_output_is_enabled(output) &&
81+ mir_output_get_connection_state(output) == mir_output_connection_state_connected &&
82+ num_modes &&
83+ mir_output_get_current_mode(output))
84 {
85 handler(output);
86 }
87 }
88
89- mir_display_config_destroy(display_config);
90+ mir_display_config_release(display_config);
91 }
92
93 MirPixelFormat select_pixel_format(MirConnection* connection)
94@@ -74,7 +76,7 @@
95
96 std::vector<std::shared_ptr<MirEglSurface>> mir_eglapp_init(int argc, char *argv[])
97 {
98- MirSurfaceParameters surfaceparm =
99+ MirWindowParameters surfaceparm =
100 {
101 "eglappsurface",
102 0, 0,
103@@ -219,13 +221,13 @@
104 // If an output has been specified just do that
105 if (surfaceparm.output_id != mir_display_output_id_invalid)
106 {
107- for_each_active_output(connection, [&](MirDisplayOutput const* output)
108+ for_each_active_output(connection, [&](MirOutput const* output)
109 {
110- if (output->output_id == surfaceparm.output_id)
111+ if ((size_t)mir_output_get_id(output) == surfaceparm.output_id)
112 {
113- auto const& mode = output->modes[output->current_mode];
114- surfaceparm.width = mode.horizontal_resolution;
115- surfaceparm.height = mode.vertical_resolution;
116+ auto mode = mir_output_get_current_mode(output);
117+ surfaceparm.width = mir_output_mode_get_width(mode);
118+ surfaceparm.height = mir_output_mode_get_height(mode);
119 }
120 });
121 result.push_back(std::make_shared<MirEglSurface>(mir_egl_app, surfaceparm, swapinterval));
122@@ -233,19 +235,22 @@
123 }
124
125 // but normally, we're fullscreen on every active output
126- for_each_active_output(connection, [&](MirDisplayOutput const* output)
127+ for_each_active_output(connection, [&](MirOutput const* output)
128 {
129- auto const& mode = output->modes[output->current_mode];
130-
131- printf("Active output [%u] at (%d, %d) is %dx%d\n",
132- output->output_id,
133- output->position_x, output->position_y,
134- mode.horizontal_resolution, mode.vertical_resolution);
135-
136- surfaceparm.width = mode.horizontal_resolution;
137- surfaceparm.height = mode.vertical_resolution;
138- surfaceparm.output_id = output->output_id;
139+ auto mode = mir_output_get_current_mode(output);
140+
141+ surfaceparm.width = mir_output_mode_get_width(mode);
142+ surfaceparm.height = mir_output_mode_get_height(mode);
143+ surfaceparm.output_id = mir_output_get_id(output);
144+
145 result.push_back(std::make_shared<MirEglSurface>(mir_egl_app, surfaceparm, swapinterval));
146+
147+ printf("Active output [%d] at (%d, %d) is %dx%d\n",
148+ surfaceparm.output_id,
149+ mir_output_get_position_x(output),
150+ mir_output_get_position_y(output),
151+ surfaceparm.width,
152+ surfaceparm.height);
153 });
154
155 if (result.empty())
156
157=== modified file 'spinner/miregl.cpp'
158--- spinner/miregl.cpp 2015-08-20 09:33:36 +0000
159+++ spinner/miregl.cpp 2017-01-24 17:18:47 +0000
160@@ -25,7 +25,7 @@
161 public:
162 MirEglApp(MirConnection* const connection, MirPixelFormat pixel_format);
163
164- EGLSurface create_surface(MirSurface* surface);
165+ EGLSurface create_surface(MirWindow* surface);
166
167 void release_current();
168
169@@ -60,32 +60,32 @@
170
171 namespace
172 {
173-MirSurface* create_surface(MirConnection* const connection, MirSurfaceParameters const& surfaceparm)
174+MirWindow* create_surface(MirConnection* const connection, MirWindowParameters const& surfaceparm)
175 {
176- auto const spec = mir_connection_create_spec_for_normal_surface(
177+ auto const spec = mir_create_normal_window_spec(
178 connection,
179 surfaceparm.width,
180- surfaceparm.height,
181- surfaceparm.pixel_format);
182-
183- mir_surface_spec_set_name(spec, surfaceparm.name);
184- mir_surface_spec_set_buffer_usage(spec, surfaceparm.buffer_usage);
185- mir_surface_spec_set_fullscreen_on_output(spec, surfaceparm.output_id);
186-
187- auto const surface = mir_surface_create_sync(spec);
188- mir_surface_spec_release(spec);
189-
190- if (!mir_surface_is_valid(surface))
191- throw std::runtime_error(std::string("Can't create a surface ") + mir_surface_get_error_message(surface));
192+ surfaceparm.height);
193+ mir_window_spec_set_pixel_format(spec, surfaceparm.pixel_format);
194+
195+ mir_window_spec_set_name(spec, surfaceparm.name);
196+ mir_window_spec_set_buffer_usage(spec, surfaceparm.buffer_usage);
197+ mir_window_spec_set_fullscreen_on_output(spec, surfaceparm.output_id);
198+
199+ auto const surface = mir_create_window_sync(spec);
200+ mir_window_spec_release(spec);
201+
202+ if (!mir_window_is_valid(surface))
203+ throw std::runtime_error(std::string("Can't create a surface ") + mir_window_get_error_message(surface));
204
205 if (surfaceparm.output_id != mir_display_output_id_invalid)
206- mir_surface_set_state(surface, mir_surface_state_fullscreen);
207+ mir_window_set_state(surface, mir_window_state_fullscreen);
208
209 return surface;
210 }
211 }
212
213-MirEglSurface::MirEglSurface(std::shared_ptr<MirEglApp> const& mir_egl_app, MirSurfaceParameters const& surfaceparm, int swapinterval) :
214+MirEglSurface::MirEglSurface(std::shared_ptr<MirEglApp> const& mir_egl_app, MirWindowParameters const& surfaceparm, int swapinterval) :
215 mir_egl_app{mir_egl_app},
216 surface{create_surface(mir_egl_app->connection, surfaceparm)},
217 eglsurface{mir_egl_app->create_surface(surface)},
218@@ -98,7 +98,7 @@
219 MirEglSurface::~MirEglSurface()
220 {
221 mir_egl_app->destroy_surface(eglsurface);
222- mir_surface_release_sync(surface);
223+ mir_window_release_sync(surface);
224 }
225
226 void MirEglSurface::egl_make_current()
227@@ -181,12 +181,12 @@
228 make_current(dummy_surface);
229 }
230
231-EGLSurface MirEglApp::create_surface(MirSurface* surface)
232+EGLSurface MirEglApp::create_surface(MirWindow* surface)
233 {
234 auto const eglsurface = eglCreateWindowSurface(
235 egldisplay,
236 eglconfig,
237- (EGLNativeWindowType) mir_buffer_stream_get_egl_native_window(mir_surface_get_buffer_stream(surface)), NULL);
238+ (EGLNativeWindowType) mir_buffer_stream_get_egl_native_window(mir_window_get_buffer_stream(surface)), NULL);
239
240 if (eglsurface == EGL_NO_SURFACE)
241 throw std::runtime_error("eglCreateWindowSurface failed");
242
243=== modified file 'spinner/miregl.h'
244--- spinner/miregl.h 2015-06-10 14:17:13 +0000
245+++ spinner/miregl.h 2017-01-24 17:18:47 +0000
246@@ -37,7 +37,7 @@
247 public:
248 MirEglSurface(
249 std::shared_ptr<MirEglApp> const& mir_egl_app,
250- MirSurfaceParameters const& surfaceparm,
251+ MirWindowParameters const& surfaceparm,
252 int swapinterval);
253
254 ~MirEglSurface();
255@@ -58,7 +58,7 @@
256 unsigned int height() const;
257
258 std::shared_ptr<MirEglApp> const mir_egl_app;
259- MirSurface* const surface;
260+ MirWindow* const surface;
261 EGLSurface const eglsurface;
262 int width_;
263 int height_;
264
265=== modified file 'src/mir_input_configuration.cpp'
266--- src/mir_input_configuration.cpp 2016-01-20 23:32:14 +0000
267+++ src/mir_input_configuration.cpp 2017-01-24 17:18:47 +0000
268@@ -17,8 +17,6 @@
269 #include "mir_input_configuration.h"
270 #include "mir/input/input_device_observer.h"
271 #include "mir/input/input_device_hub.h"
272-#include "mir/input/pointer_configuration.h"
273-#include "mir/input/touchpad_configuration.h"
274 #include "mir/input/device.h"
275
276 namespace mi = mir::input;
277@@ -108,9 +106,9 @@
278
279 void usc::MirInputConfiguration::set_mouse_primary_button(int32_t button)
280 {
281- mouse_pointer_config.handedness = button == 0 ?
282+ mouse_pointer_config.handedness(button == 0 ?
283 mir_pointer_handedness_right :
284- mir_pointer_handedness_left;
285+ mir_pointer_handedness_left);
286 update_mice();
287 }
288
289@@ -121,20 +119,22 @@
290 clamped = 0.0;
291 if (clamped > 1.0)
292 clamped = 1.0;
293- mouse_pointer_config.cursor_acceleration_bias = clamped * 2.0 - 1.0;
294+ mouse_pointer_config.cursor_acceleration_bias(clamped * 2.0 - 1.0);
295 update_mice();
296 }
297
298 void usc::MirInputConfiguration::set_mouse_scroll_speed(double speed)
299 {
300- mouse_pointer_config.horizontal_scroll_scale = speed;
301- mouse_pointer_config.vertical_scroll_scale = speed;
302+ mouse_pointer_config.horizontal_scroll_scale(speed);
303+ mouse_pointer_config.vertical_scroll_scale(speed);
304 update_mice();
305 }
306
307 void usc::MirInputConfiguration::set_touchpad_primary_button(int32_t button)
308 {
309- touchpad_pointer_config.handedness = button == 0?mir_pointer_handedness_right:mir_pointer_handedness_left;
310+ touchpad_pointer_config.handedness(button == 0 ?
311+ mir_pointer_handedness_right :
312+ mir_pointer_handedness_left);
313 update_touchpads();
314 }
315
316@@ -145,43 +145,43 @@
317 clamped = 0.0;
318 if (clamped > 1.0)
319 clamped = 1.0;
320- touchpad_pointer_config.cursor_acceleration_bias = clamped * 2.0 - 1.0;
321+ touchpad_pointer_config.cursor_acceleration_bias(clamped * 2.0 - 1.0);
322 update_touchpads();
323 }
324
325 void usc::MirInputConfiguration::set_touchpad_scroll_speed(double speed)
326 {
327- touchpad_pointer_config.horizontal_scroll_scale = speed;
328- touchpad_pointer_config.vertical_scroll_scale = speed;
329+ touchpad_pointer_config.horizontal_scroll_scale(speed);
330+ touchpad_pointer_config.vertical_scroll_scale(speed);
331 update_touchpads();
332 }
333
334 void usc::MirInputConfiguration::set_two_finger_scroll(bool enable)
335 {
336- MirTouchpadScrollModes current = touchpad_config.scroll_mode;
337+ MirTouchpadScrollModes current = touchpad_config.scroll_mode();
338 if (enable)
339 current |= mir_touchpad_scroll_mode_two_finger_scroll;
340 else
341 current &= ~mir_touchpad_scroll_mode_two_finger_scroll;
342- touchpad_config.scroll_mode = current;
343+ touchpad_config.scroll_mode(current);
344 update_touchpads();
345 }
346
347 void usc::MirInputConfiguration::set_tap_to_click(bool enable)
348 {
349- touchpad_config.tap_to_click = enable;
350+ touchpad_config.tap_to_click(enable);
351 update_touchpads();
352 }
353
354 void usc::MirInputConfiguration::set_disable_touchpad_while_typing(bool enable)
355 {
356- touchpad_config.disable_while_typing = enable;
357+ touchpad_config.disable_while_typing(enable);
358 update_touchpads();
359 }
360
361 void usc::MirInputConfiguration::set_disable_touchpad_with_mouse(bool enable)
362 {
363- touchpad_config.disable_with_mouse = enable;
364+ touchpad_config.disable_with_mouse(enable);
365 update_touchpads();
366 }
367
368
369=== modified file 'src/mir_input_configuration.h'
370--- src/mir_input_configuration.h 2015-11-03 19:59:19 +0000
371+++ src/mir_input_configuration.h 2017-01-24 17:18:47 +0000
372@@ -19,8 +19,8 @@
373
374 #include "input_configuration.h"
375
376-#include "mir/input/touchpad_configuration.h"
377-#include "mir/input/pointer_configuration.h"
378+#include "mir/input/mir_touchpad_config.h"
379+#include "mir/input/mir_pointer_config.h"
380
381 #include <memory>
382 #include <thread>
383@@ -67,9 +67,9 @@
384 std::mutex devices_lock;
385 std::unordered_set<std::shared_ptr<mir::input::Device>> touchpads;
386 std::unordered_set<std::shared_ptr<mir::input::Device>> mice;
387- mir::input::PointerConfiguration mouse_pointer_config;
388- mir::input::PointerConfiguration touchpad_pointer_config;
389- mir::input::TouchpadConfiguration touchpad_config;
390+ MirPointerConfig mouse_pointer_config;
391+ MirPointerConfig touchpad_pointer_config;
392+ MirTouchpadConfig touchpad_config;
393 };
394
395 }
396
397=== modified file 'tests/unit-tests/test_mir_input_configuration.cpp'
398--- tests/unit-tests/test_mir_input_configuration.cpp 2016-08-11 11:28:28 +0000
399+++ tests/unit-tests/test_mir_input_configuration.cpp 2017-01-24 17:18:47 +0000
400@@ -22,7 +22,9 @@
401 #include "mir/input/device_capability.h"
402 #include "mir/input/input_device_observer.h"
403 #include "mir/input/device.h"
404-#include "mir/input/keyboard_configuration.h"
405+#include "mir/input/mir_keyboard_config.h"
406+#include "mir/input/mir_pointer_config.h"
407+#include "mir/input/mir_touchpad_config.h"
408
409 #include <gtest/gtest.h>
410 #include <gmock/gmock.h>
411@@ -39,12 +41,12 @@
412 MOCK_CONST_METHOD0(capabilities, mi::DeviceCapabilities());
413 MOCK_CONST_METHOD0(name, std::string());
414 MOCK_CONST_METHOD0(unique_id, std::string());
415- MOCK_CONST_METHOD0(pointer_configuration, mir::optional_value<mi::PointerConfiguration>());
416- MOCK_METHOD1(apply_pointer_configuration, void(mi::PointerConfiguration const&));
417- MOCK_CONST_METHOD0(touchpad_configuration, mir::optional_value<mi::TouchpadConfiguration>());
418- MOCK_METHOD1(apply_touchpad_configuration, void(mi::TouchpadConfiguration const&));
419- MOCK_CONST_METHOD0(keyboard_configuration, mir::optional_value<mi::KeyboardConfiguration>());
420- MOCK_METHOD1(apply_keyboard_configuration, void(mi::KeyboardConfiguration const&));
421+ MOCK_CONST_METHOD0(pointer_configuration, mir::optional_value<MirPointerConfig>());
422+ MOCK_METHOD1(apply_pointer_configuration, void(MirPointerConfig const&));
423+ MOCK_CONST_METHOD0(touchpad_configuration, mir::optional_value<MirTouchpadConfig>());
424+ MOCK_METHOD1(apply_touchpad_configuration, void(MirTouchpadConfig const&));
425+ MOCK_CONST_METHOD0(keyboard_configuration, mir::optional_value<MirKeyboardConfig>());
426+ MOCK_METHOD1(apply_keyboard_configuration, void(MirKeyboardConfig const&));
427
428 MockDevice(mi::DeviceCapabilities caps)
429 : caps(caps)
430@@ -60,6 +62,7 @@
431 MOCK_METHOD1(add_observer,void(std::shared_ptr<mi::InputDeviceObserver> const&));
432 MOCK_METHOD1(remove_observer,void(std::weak_ptr<mi::InputDeviceObserver> const&));
433 MOCK_METHOD1(for_each_input_device, void(std::function<void(mi::Device const&)> const&));
434+ MOCK_METHOD1(for_each_mutable_input_device, void(std::function<void(mi::Device&)> const&));
435 };
436
437 struct MirInputConfiguration : ::testing::Test
438
439=== modified file 'tests/unit-tests/test_session_switcher.cpp'
440--- tests/unit-tests/test_session_switcher.cpp 2016-11-09 18:13:05 +0000
441+++ tests/unit-tests/test_session_switcher.cpp 2017-01-24 17:18:47 +0000
442@@ -117,6 +117,7 @@
443 }
444 std::string name() const override { return name_; }
445 void send_display_config(mir::graphics::DisplayConfiguration const&) override {}
446+ void send_input_config(MirInputConfig const&) override {}
447
448 private:
449 std::string const name_;

Subscribers

People subscribed via source and target branches