Merge lp:~alan-griffiths/miral/1.3 into lp:miral/release

Proposed by Alan Griffiths
Status: Merged
Approved by: Alan Griffiths
Approved revision: no longer in the source branch.
Merged at revision: 359
Proposed branch: lp:~alan-griffiths/miral/1.3
Merge into: lp:miral/release
Diff against target: 453 lines (+124/-28)
17 files modified
CMakeLists.txt (+1/-1)
debian/changelog (+19/-0)
include/miral/set_window_management_policy.h (+3/-3)
miral-kiosk/kiosk_main.cpp (+1/-1)
miral-shell/decoration_provider.cpp (+12/-1)
miral-shell/miral-app.sh (+2/-4)
miral-shell/miral-desktop.sh (+1/-1)
miral-shell/miral-run.sh (+1/-1)
miral-shell/miral-xrun.sh (+21/-1)
miral-shell/titlebar_window_manager.cpp (+4/-0)
miral/CMakeLists.txt (+1/-1)
miral/basic_window_manager.cpp (+10/-0)
miral/basic_window_manager.h (+9/-1)
miral/set_window_management_policy.cpp (+5/-5)
test/test_server.cpp (+1/-1)
test/test_window_manager_tools.h (+7/-0)
test/workspaces.cpp (+26/-7)
To merge this branch: bzr merge lp:~alan-griffiths/miral/1.3
Reviewer Review Type Date Requested Status
Alan Griffiths Approve
Review via email: mp+320973@code.launchpad.net

Commit message

1.3.1 release

To post a comment you must log in.
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

Seen this twice in bileto:

[ RUN ] Workspaces.with_two_applications_when_a_window_in_a_workspace_hides_focus_remains_in_workspace
[2017-03-30 07:31:06.592649] mirserver: Starting
[2017-03-30 07:31:06.592873] mirserver: Selected driver: mir:stub-graphics (version 0.26.2)
[2017-03-30 07:31:06.593742] mirserver: Using software cursor
[2017-03-30 07:31:06.624258] mirserver: Selected input driver: mir:stub-input (version: 0.26.2)
[2017-03-30 07:31:06.634376] mirserver: Mir version 0.26.2
[2017-03-30 07:31:06.638238] mirserver: Initial display configuration:
[2017-03-30 07:31:06.651197] mirserver: Output 1: VGA connected, used
[2017-03-30 07:31:06.651288] mirserver: Physical size 0.0" 0x0mm
[2017-03-30 07:31:06.651306] mirserver: Power is on
[2017-03-30 07:31:06.651328] mirserver: Current mode 1600x1600 60.00Hz
[2017-03-30 07:31:06.651346] mirserver: Preferred mode 1600x1600 60.00Hz
[2017-03-30 07:31:06.651362] mirserver: Orientation normal
[2017-03-30 07:31:06.651379] mirserver: Logical size 1600x1600
[2017-03-30 07:31:06.651394] mirserver: Logical position +0+0
/<<BUILDDIR>>/miral-1.3.2+16.04.20170330/test/workspaces.cpp:534: Failure
Value of: tools.active_window()
Expected: is equal to 1
  Actual: 1 (of type miral::Window)
tools.active_window(): a window
server_window(dialog): dialog

GMOCK WARNING:
Uninteresting mock function call - returning directly.
    Function call: advise_focus_gained(@0x7f80003200 8-byte object <80-4A 00-80 7F-00 00-00>)
Stack trace:

GMOCK WARNING:
Uninteresting mock function call - returning directly.
    Function call: advise_removing_from_workspace(@0x7f8000ac30 16-byte object <50-6A 9F-0D 00-00 00-00 40-6A 9F-0D 00-00 00-00>, @0x7f977fd800 { 1 })
Stack trace:

GMOCK WARNING:
Uninteresting mock function call - returning directly.
    Function call: advise_focus_gained(@0x7f80007940 8-byte object <50-8A 00-80 7F-00 00-00>)
Stack trace:
[2017-03-30 07:31:06.925379] mirserver: Stopping
[ FAILED ] Workspaces.with_two_applications_when_a_window_in_a_workspace_hides_focus_remains_in_workspace (344 ms)

review: Needs Fixing
Revision history for this message
Alan Griffiths (alan-griffiths) :
review: Approve
lp:~alan-griffiths/miral/1.3 updated
359. By CI Train Bot Account

* New upstream release 1.3.2 (https://launchpad.net/miral/+milestone/1.3.2)
  - ABI summary:
    . miral ABI unchanged at 2
  - Enhancements:
    . [miral-shell] Add a keyboard shortcut for forcing fullscreen
  - Bugs fixed:
    . [miral-examples] With latest zesty's libstdc++-6-dev miral-shell will
      crash when trying to draw its background text. (LP: #1677550)
    . [miral-examples] Update miral-xrun to match GDK changes (LP: #1675115)
    . [miral-examples] change the server and client launch scripts to avoid
      using the default Mir socket (LP: #1675794)
    . [libmiral] Fix FTBFS against Mir < 0.26 (Xenial, Yakkety)
    . [libmiral] correct spelling of miral/set_window_management_policy.h
    . Update to fix FTBFS against lp:mir (and clang)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'CMakeLists.txt'
--- CMakeLists.txt 2017-03-15 17:44:36 +0000
+++ CMakeLists.txt 2017-03-30 14:15:54 +0000
@@ -42,7 +42,7 @@
4242
43set(MIRAL_VERSION_MAJOR 1)43set(MIRAL_VERSION_MAJOR 1)
44set(MIRAL_VERSION_MINOR 3)44set(MIRAL_VERSION_MINOR 3)
45set(MIRAL_VERSION_PATCH 1)45set(MIRAL_VERSION_PATCH 2)
4646
47set(MIRAL_VERSION ${MIRAL_VERSION_MAJOR}.${MIRAL_VERSION_MINOR}.${MIRAL_VERSION_PATCH})47set(MIRAL_VERSION ${MIRAL_VERSION_MAJOR}.${MIRAL_VERSION_MINOR}.${MIRAL_VERSION_PATCH})
4848
4949
=== modified file 'debian/changelog'
--- debian/changelog 2017-03-16 18:17:41 +0000
+++ debian/changelog 2017-03-30 14:15:54 +0000
@@ -1,3 +1,22 @@
1miral (1.3.2) UNRELEASED; urgency=medium
2
3 * New upstream release 1.3.2 (https://launchpad.net/miral/+milestone/1.3.2)
4 - ABI summary:
5 . miral ABI unchanged at 2
6 - Enhancements:
7 . [miral-shell] Add a keyboard shortcut for forcing fullscreen
8 - Bugs fixed:
9 . [miral-examples] With latest zesty's libstdc++-6-dev miral-shell will
10 crash when trying to draw its background text. (LP: #1677550)
11 . [miral-examples] Update miral-xrun to match GDK changes (LP: #1675115)
12 . [miral-examples] change the server and client launch scripts to avoid
13 using the default Mir socket (LP: #1675794)
14 . [libmiral] Fix FTBFS against Mir < 0.26 (Xenial, Yakkety)
15 . [libmiral] correct spelling of miral/set_window_management_policy.h
16 . Update to fix FTBFS against lp:mir (and clang)
17
18 -- Alan Griffiths <alan.griffiths@canonical.com> Mon, 24 Mar 2017 10:00:20 +0000
19
1miral (1.3.1+17.04.20170316.1-0ubuntu1) zesty; urgency=medium20miral (1.3.1+17.04.20170316.1-0ubuntu1) zesty; urgency=medium
221
3 * New upstream release 1.3.1 (https://launchpad.net/miral/+milestone/1.3.1)22 * New upstream release 1.3.1 (https://launchpad.net/miral/+milestone/1.3.1)
423
=== renamed file 'include/miral/set_window_managment_policy.h' => 'include/miral/set_window_management_policy.h'
--- include/miral/set_window_managment_policy.h 2017-03-06 10:50:19 +0000
+++ include/miral/set_window_management_policy.h 2017-03-30 14:15:54 +0000
@@ -16,8 +16,8 @@
16 * Authored by: Alan Griffiths <alan@octopull.co.uk>16 * Authored by: Alan Griffiths <alan@octopull.co.uk>
17 */17 */
1818
19#ifndef MIRAL_SET_WINDOW_MANAGER_H19#ifndef MIRAL_SET_WINDOW_MANAGEMENT_POLICY_H
20#define MIRAL_SET_WINDOW_MANAGER_H20#define MIRAL_SET_WINDOW_MANAGEMENT_POLICY_H
2121
22#include <memory>22#include <memory>
2323
@@ -51,4 +51,4 @@
51}51}
52}52}
5353
54#endif //MIRAL_SET_WINDOW_MANAGER_H54#endif //MIRAL_SET_WINDOW_MANAGEMENT_POLICY_H
5555
=== modified file 'miral-kiosk/kiosk_main.cpp'
--- miral-kiosk/kiosk_main.cpp 2017-03-06 10:50:19 +0000
+++ miral-kiosk/kiosk_main.cpp 2017-03-30 14:15:54 +0000
@@ -22,7 +22,7 @@
22#include <miral/application_authorizer.h>22#include <miral/application_authorizer.h>
23#include <miral/command_line_option.h>23#include <miral/command_line_option.h>
24#include <miral/keymap.h>24#include <miral/keymap.h>
25#include <miral/set_window_managment_policy.h>25#include <miral/set_window_management_policy.h>
26#include <miral/internal_client.h>26#include <miral/internal_client.h>
2727
28#include <unistd.h>28#include <unistd.h>
2929
=== modified file 'miral-shell/decoration_provider.cpp'
--- miral-shell/decoration_provider.cpp 2017-03-15 12:36:17 +0000
+++ miral-shell/decoration_provider.cpp 2017-03-30 14:15:54 +0000
@@ -42,6 +42,12 @@
4242
43void null_window_callback(MirWindow*, void*) {}43void null_window_callback(MirWindow*, void*) {}
4444
45struct preferred_codecvt : std::codecvt_byname<wchar_t, char, std::mbstate_t>
46{
47 preferred_codecvt() : std::codecvt_byname<wchar_t, char, std::mbstate_t>("") {}
48 ~preferred_codecvt() = default;
49};
50
45struct Printer51struct Printer
46{52{
47 Printer();53 Printer();
@@ -53,7 +59,7 @@
53 void printhelp(MirGraphicsRegion const& region);59 void printhelp(MirGraphicsRegion const& region);
5460
55private:61private:
56 std::wstring_convert<std::codecvt_utf16<wchar_t>> converter;62 std::wstring_convert<preferred_codecvt> converter;
5763
58 bool working = false;64 bool working = false;
59 FT_Library lib;65 FT_Library lib;
@@ -112,6 +118,7 @@
112}118}
113119
114void Printer::print(MirGraphicsRegion const& region, std::string const& title_, int const intensity)120void Printer::print(MirGraphicsRegion const& region, std::string const& title_, int const intensity)
121try
115{122{
116 if (!working)123 if (!working)
117 return;124 return;
@@ -151,6 +158,10 @@
151 base_y += glyph->advance.y >> 6;158 base_y += glyph->advance.y >> 6;
152 }159 }
153}160}
161catch (...)
162{
163 std::cerr << "WARNING: failed render title: \"" << title_ << "\"\n";
164}
154165
155void Printer::printhelp(MirGraphicsRegion const& region)166void Printer::printhelp(MirGraphicsRegion const& region)
156{167{
157168
=== modified file 'miral-shell/miral-app.sh'
--- miral-shell/miral-app.sh 2017-02-01 11:11:20 +0000
+++ miral-shell/miral-app.sh 2017-03-30 14:15:54 +0000
@@ -11,13 +11,11 @@
11 then11 then
12 echo "Error: Host endpoint '${MIR_SOCKET}' does not exists"; exit 112 echo "Error: Host endpoint '${MIR_SOCKET}' does not exists"; exit 1
13 fi13 fi
14 i=0; while [ -e "${XDG_RUNTIME_DIR}/mir_socket${i}" ]; do let i+=1 ;done
15 socket=${XDG_RUNTIME_DIR}/mir_socket${i}
16 hostsocket='--host-socket ${MIR_SOCKET}'14 hostsocket='--host-socket ${MIR_SOCKET}'
17else
18 socket=${XDG_RUNTIME_DIR}/mir_socket
19fi15fi
2016
17socket=${XDG_RUNTIME_DIR}/miral_socket
18
21while [ $# -gt 0 ]19while [ $# -gt 0 ]
22do20do
23 if [ "$1" == "--help" -o "$1" == "-h" ]21 if [ "$1" == "--help" -o "$1" == "-h" ]
2422
=== modified file 'miral-shell/miral-desktop.sh'
--- miral-shell/miral-desktop.sh 2017-02-01 11:11:20 +0000
+++ miral-shell/miral-desktop.sh 2017-03-30 14:15:54 +0000
@@ -1,6 +1,6 @@
1#! /bin/bash1#! /bin/bash
22
3socket=${XDG_RUNTIME_DIR}/mir_socket3socket=${XDG_RUNTIME_DIR}/miral_socket
4miral_server=miral-shell4miral_server=miral-shell
5launcher='gnome-terminal --app-id com.canonical.miral.Terminal'5launcher='gnome-terminal --app-id com.canonical.miral.Terminal'
6bindir=$(dirname $0)6bindir=$(dirname $0)
77
=== modified file 'miral-shell/miral-run.sh'
--- miral-shell/miral-run.sh 2016-10-06 15:36:15 +0000
+++ miral-shell/miral-run.sh 2017-03-30 14:15:54 +0000
@@ -3,4 +3,4 @@
3then extras='--app-id com.canonical.miral.Terminal'3then extras='--app-id com.canonical.miral.Terminal'
4fi4fi
5unset QT_QPA_PLATFORMTHEME5unset QT_QPA_PLATFORMTHEME
6GDK_BACKEND=mir QT_QPA_PLATFORM=ubuntumirclient SDL_VIDEODRIVER=mir "$@" ${extras}&6MIR_SOCKET=${XDG_RUNTIME_DIR}/miral_socket GDK_BACKEND=mir QT_QPA_PLATFORM=ubuntumirclient SDL_VIDEODRIVER=mir "$@" ${extras}&
77
=== modified file 'miral-shell/miral-xrun.sh'
--- miral-shell/miral-xrun.sh 2016-10-06 15:36:15 +0000
+++ miral-shell/miral-xrun.sh 2017-03-30 14:15:54 +0000
@@ -9,6 +9,26 @@
9unset GDK_BACKEND9unset GDK_BACKEND
10unset QT_QPA_PLATFORM10unset QT_QPA_PLATFORM
11unset SDL_VIDEODRIVER11unset SDL_VIDEODRIVER
12Xmir -rootless :${port} & pid=$!12
13while [ $# -gt 0 ]
14do
15 if [ "$1" == "--help" -o "$1" == "-h" ]
16 then
17 echo "$(basename $0) - Handy launch script for providing an Xmir X11 server"
18 echo "Usage: $(basename $0) [options] command"
19 echo "Options are:"
20 echo " -force set toolkit environment variables to force X11 use"
21 exit 0
22 elif [ "$1" == "-force" ];
23 then
24 export GDK_BACKEND=x11
25 export QT_QPA_PLATFORM=xcb
26 export SDL_VIDEODRIVER=x11
27 else break
28 fi
29 shift
30done
31
32MIR_SOCKET=${XDG_RUNTIME_DIR}/miral_socket Xmir -rootless :${port} & pid=$!
13DISPLAY=:${port} "$@"33DISPLAY=:${port} "$@"
14kill ${pid}34kill ${pid}
1535
=== modified file 'miral-shell/titlebar_window_manager.cpp'
--- miral-shell/titlebar_window_manager.cpp 2017-03-02 17:40:20 +0000
+++ miral-shell/titlebar_window_manager.cpp 2017-03-30 14:15:54 +0000
@@ -413,6 +413,10 @@
413 toggle(mir_window_state_horizmaximized);413 toggle(mir_window_state_horizmaximized);
414 return true;414 return true;
415415
416 case mir_input_event_modifier_meta:
417 toggle(mir_window_state_fullscreen);
418 return true;
419
416 default:420 default:
417 break;421 break;
418 }422 }
419423
=== modified file 'miral/CMakeLists.txt'
--- miral/CMakeLists.txt 2017-03-07 16:35:29 +0000
+++ miral/CMakeLists.txt 2017-03-30 14:15:54 +0000
@@ -49,7 +49,7 @@
49 internal_client.cpp ${CMAKE_SOURCE_DIR}/include/miral/internal_client.h49 internal_client.cpp ${CMAKE_SOURCE_DIR}/include/miral/internal_client.h
50 set_command_line_handler.cpp ${CMAKE_SOURCE_DIR}/include/miral/set_command_line_handler.h50 set_command_line_handler.cpp ${CMAKE_SOURCE_DIR}/include/miral/set_command_line_handler.h
51 set_terminator.cpp ${CMAKE_SOURCE_DIR}/include/miral/set_terminator.h51 set_terminator.cpp ${CMAKE_SOURCE_DIR}/include/miral/set_terminator.h
52 set_window_managment_policy.cpp ${CMAKE_SOURCE_DIR}/include/miral/set_window_managment_policy.h52 set_window_management_policy.cpp ${CMAKE_SOURCE_DIR}/include/miral/set_window_management_policy.h
53 workspace_policy.cpp ${CMAKE_SOURCE_DIR}/include/miral/workspace_policy.h53 workspace_policy.cpp ${CMAKE_SOURCE_DIR}/include/miral/workspace_policy.h
54 window_management_policy.cpp ${CMAKE_SOURCE_DIR}/include/miral/window_management_policy.h54 window_management_policy.cpp ${CMAKE_SOURCE_DIR}/include/miral/window_management_policy.h
55 window_manager_tools.cpp ${CMAKE_SOURCE_DIR}/include/miral/window_manager_tools.h55 window_manager_tools.cpp ${CMAKE_SOURCE_DIR}/include/miral/window_manager_tools.h
5656
=== modified file 'miral/basic_window_manager.cpp'
--- miral/basic_window_manager.cpp 2017-03-16 17:00:18 +0000
+++ miral/basic_window_manager.cpp 2017-03-30 14:15:54 +0000
@@ -359,6 +359,16 @@
359 policy->handle_raise_window(info_for(surface));359 policy->handle_raise_window(info_for(surface));
360}360}
361361
362#if MIR_SERVER_VERSION >= MIR_VERSION_NUMBER(0, 27, 0)
363void miral::BasicWindowManager::handle_request_drag_and_drop(
364 std::shared_ptr<mir::scene::Session> const& /*session*/,
365 std::shared_ptr<mir::scene::Surface> const& /*surface*/,
366 uint64_t /*timestamp*/)
367{
368 // TODO
369}
370#endif
371
362int miral::BasicWindowManager::set_surface_attribute(372int miral::BasicWindowManager::set_surface_attribute(
363 std::shared_ptr<scene::Session> const& /*application*/,373 std::shared_ptr<scene::Session> const& /*application*/,
364 std::shared_ptr<scene::Surface> const& surface,374 std::shared_ptr<scene::Surface> const& surface,
365375
=== modified file 'miral/basic_window_manager.h'
--- miral/basic_window_manager.h 2017-03-02 14:29:04 +0000
+++ miral/basic_window_manager.h 2017-03-30 14:15:54 +0000
@@ -30,6 +30,7 @@
30#include <mir/geometry/rectangles.h>30#include <mir/geometry/rectangles.h>
31#include <mir/shell/abstract_shell.h>31#include <mir/shell/abstract_shell.h>
32#include <mir/shell/window_manager.h>32#include <mir/shell/window_manager.h>
33#include <mir/version.h>
3334
34#include <boost/bimap.hpp>35#include <boost/bimap.hpp>
35#include <boost/bimap/multiset_of.hpp>36#include <boost/bimap/multiset_of.hpp>
@@ -95,6 +96,13 @@
95 std::shared_ptr<mir::scene::Surface> const& surface,96 std::shared_ptr<mir::scene::Surface> const& surface,
96 uint64_t timestamp) override;97 uint64_t timestamp) override;
9798
99#if MIR_SERVER_VERSION >= MIR_VERSION_NUMBER(0, 27, 0)
100 void handle_request_drag_and_drop(
101 std::shared_ptr<mir::scene::Session> const& session,
102 std::shared_ptr<mir::scene::Surface> const& surface,
103 uint64_t timestamp) override;
104#endif
105
98 int set_surface_attribute(106 int set_surface_attribute(
99 std::shared_ptr<mir::scene::Session> const& /*application*/,107 std::shared_ptr<mir::scene::Session> const& /*application*/,
100 std::shared_ptr<mir::scene::Surface> const& surface,108 std::shared_ptr<mir::scene::Surface> const& surface,
@@ -109,7 +117,7 @@
109117
110 void move_workspace_content_to_workspace(118 void move_workspace_content_to_workspace(
111 std::shared_ptr<Workspace> const& to_workspace,119 std::shared_ptr<Workspace> const& to_workspace,
112 std::shared_ptr<Workspace> const& from_workspace);120 std::shared_ptr<Workspace> const& from_workspace) override;
113121
114 void for_each_workspace_containing(122 void for_each_workspace_containing(
115 Window const& window,123 Window const& window,
116124
=== renamed file 'miral/set_window_managment_policy.cpp' => 'miral/set_window_management_policy.cpp'
--- miral/set_window_managment_policy.cpp 2017-03-06 10:48:02 +0000
+++ miral/set_window_management_policy.cpp 2017-03-30 14:15:54 +0000
@@ -16,7 +16,7 @@
16 * Authored by: Alan Griffiths <alan@octopull.co.uk>16 * Authored by: Alan Griffiths <alan@octopull.co.uk>
17 */17 */
1818
19#include "miral/set_window_managment_policy.h"19#include "miral/set_window_management_policy.h"
20#include "basic_window_manager.h"20#include "basic_window_manager.h"
21#include "window_management_trace.h"21#include "window_management_trace.h"
22#include "both_versions.h"22#include "both_versions.h"
@@ -32,19 +32,19 @@
32char const* const trace_option = "window-management-trace";32char const* const trace_option = "window-management-trace";
33}33}
3434
35MIRAL_BOTH_VERSIONS(35MIRAL_FAKE_OLD_SYMBOL(
36 _ZN5miral24SetWindowManagmentPolicyC1ERKSt8functionIFSt10unique_ptrINS_22WindowManagementPolicyESt14default_deleteIS3_EERKNS_18WindowManagerToolsEEE,36 _ZN5miral24SetWindowManagmentPolicyC1ERKSt8functionIFSt10unique_ptrINS_22WindowManagementPolicyESt14default_deleteIS3_EERKNS_18WindowManagerToolsEEE,
37 _ZN5miral25SetWindowManagementPolicyC1ERKSt8functionIFSt10unique_ptrINS_22WindowManagementPolicyESt14default_deleteIS3_EERKNS_18WindowManagerToolsEEE)37 _ZN5miral25SetWindowManagementPolicyC1ERKSt8functionIFSt10unique_ptrINS_22WindowManagementPolicyESt14default_deleteIS3_EERKNS_18WindowManagerToolsEEE)
3838
39MIRAL_BOTH_VERSIONS(39MIRAL_FAKE_OLD_SYMBOL(
40 _ZNK5miral24SetWindowManagmentPolicyclERN3mir6ServerE,40 _ZNK5miral24SetWindowManagmentPolicyclERN3mir6ServerE,
41 _ZNK5miral25SetWindowManagementPolicyclERN3mir6ServerE)41 _ZNK5miral25SetWindowManagementPolicyclERN3mir6ServerE)
4242
43MIRAL_BOTH_VERSIONS(43MIRAL_FAKE_OLD_SYMBOL(
44 _ZN5miral24SetWindowManagmentPolicyD1Ev,44 _ZN5miral24SetWindowManagmentPolicyD1Ev,
45 _ZN5miral25SetWindowManagementPolicyD1Ev)45 _ZN5miral25SetWindowManagementPolicyD1Ev)
4646
47MIRAL_BOTH_VERSIONS(47MIRAL_FAKE_OLD_SYMBOL(
48 _ZN5miral24SetWindowManagmentPolicyD2Ev,48 _ZN5miral24SetWindowManagmentPolicyD2Ev,
49 _ZN5miral25SetWindowManagementPolicyD2Ev)49 _ZN5miral25SetWindowManagementPolicyD2Ev)
5050
5151
=== modified file 'test/test_server.cpp'
--- test/test_server.cpp 2017-02-14 17:11:07 +0000
+++ test/test_server.cpp 2017-03-30 14:15:54 +0000
@@ -19,7 +19,7 @@
19#include "test_server.h"19#include "test_server.h"
20#include "../miral/basic_window_manager.h"20#include "../miral/basic_window_manager.h"
2121
22#include <miral/set_window_managment_policy.h>22#include <miral/set_window_management_policy.h>
2323
24#include <mir_test_framework/executable_path.h>24#include <mir_test_framework/executable_path.h>
25#include <mir_test_framework/stub_server_platform_factory.h>25#include <mir_test_framework/stub_server_platform_factory.h>
2626
=== modified file 'test/test_window_manager_tools.h'
--- test/test_window_manager_tools.h 2017-02-02 11:31:52 +0000
+++ test/test_window_manager_tools.h 2017-03-30 14:15:54 +0000
@@ -27,6 +27,7 @@
27#include <mir/shell/display_layout.h>27#include <mir/shell/display_layout.h>
28#include <mir/shell/focus_controller.h>28#include <mir/shell/focus_controller.h>
29#include <mir/shell/persistent_surface_store.h>29#include <mir/shell/persistent_surface_store.h>
30#include <mir/version.h>
3031
31#include <mir/test/doubles/stub_session.h>32#include <mir/test/doubles/stub_session.h>
32#include <mir/test/doubles/stub_surface.h>33#include <mir/test/doubles/stub_surface.h>
@@ -53,6 +54,12 @@
5354
54 virtual auto surface_at(mir::geometry::Point /*cursor*/) const -> std::shared_ptr<mir::scene::Surface> override55 virtual auto surface_at(mir::geometry::Point /*cursor*/) const -> std::shared_ptr<mir::scene::Surface> override
55 { return {}; }56 { return {}; }
57
58#if MIR_SERVER_VERSION >= MIR_VERSION_NUMBER(0, 27, 0)
59 void set_drag_and_drop_handle(std::vector<uint8_t> const& /*handle*/) override {}
60
61 void clear_drag_and_drop_handle() override {}
62#endif
56};63};
5764
58struct StubDisplayLayout : mir::shell::DisplayLayout65struct StubDisplayLayout : mir::shell::DisplayLayout
5966
=== modified file 'test/workspaces.cpp'
--- test/workspaces.cpp 2017-03-03 12:31:47 +0000
+++ test/workspaces.cpp 2017-03-30 14:15:54 +0000
@@ -49,7 +49,8 @@
49 WorkspacesWindowManagerPolicy(WindowManagerTools const& tools, Workspaces& test_fixture);49 WorkspacesWindowManagerPolicy(WindowManagerTools const& tools, Workspaces& test_fixture);
50 ~WorkspacesWindowManagerPolicy();50 ~WorkspacesWindowManagerPolicy();
5151
52 void advise_new_window(miral::WindowInfo const& window_info) override;52 void advise_new_window(miral::WindowInfo const& window_info);
53 void handle_window_ready(miral::WindowInfo& window_info);
5354
54 MOCK_METHOD2(advise_adding_to_workspace,55 MOCK_METHOD2(advise_adding_to_workspace,
55 void(std::shared_ptr<miral::Workspace> const&, std::vector<miral::Window> const&));56 void(std::shared_ptr<miral::Workspace> const&, std::vector<miral::Window> const&));
@@ -59,6 +60,8 @@
5960
60 MOCK_METHOD1(advise_focus_gained, void(miral::WindowInfo const&));61 MOCK_METHOD1(advise_focus_gained, void(miral::WindowInfo const&));
6162
63 MOCK_METHOD1(advise_window_ready, void(miral::WindowInfo const&));
64
62 Workspaces& test_fixture;65 Workspaces& test_fixture;
63};66};
6467
@@ -72,9 +75,19 @@
72 .create_window();75 .create_window();
7376
74 client_windows[name] = window;77 client_windows[name] = window;
78 init_window(window);
79
80 return window;
81 }
82
83 void init_window(Window const& window)
84 {
85 mir::test::Signal window_ready;
86 EXPECT_CALL(policy(), advise_window_ready(_)).WillOnce(InvokeWithoutArgs([&]{ window_ready.raise(); }));
87
75 mir_buffer_stream_swap_buffers_sync(mir_window_get_buffer_stream(window));88 mir_buffer_stream_swap_buffers_sync(mir_window_get_buffer_stream(window));
7689
77 return window;90 EXPECT_TRUE(window_ready.wait_for(1s));
78 }91 }
7992
80 auto create_tip(std::string const& name, Window const& parent) -> Window93 auto create_tip(std::string const& name, Window const& parent) -> Window
@@ -87,7 +100,7 @@
87 .create_window();100 .create_window();
88101
89 client_windows[name] = window;102 client_windows[name] = window;
90 mir_buffer_stream_swap_buffers_sync(mir_window_get_buffer_stream(window));103 init_window(window);
91104
92 return window;105 return window;
93 }106 }
@@ -100,7 +113,7 @@
100 .create_window();113 .create_window();
101114
102 client_windows[name] = window;115 client_windows[name] = window;
103 mir_buffer_stream_swap_buffers_sync(mir_window_get_buffer_stream(window));116 init_window(window);
104117
105 return window;118 return window;
106 }119 }
@@ -221,6 +234,12 @@
221 std::lock_guard<decltype(test_fixture.mutex)> lock{test_fixture.mutex};234 std::lock_guard<decltype(test_fixture.mutex)> lock{test_fixture.mutex};
222 test_fixture.server_windows[window_info.name()] = window_info.window();235 test_fixture.server_windows[window_info.name()] = window_info.window();
223}236}
237
238void WorkspacesWindowManagerPolicy::handle_window_ready(miral::WindowInfo& window_info)
239{
240 miral::CanonicalWindowManagerPolicy::handle_window_ready(window_info);
241 advise_window_ready(window_info);
242}
224}243}
225244
226TEST_F(Workspaces, before_a_tree_is_added_to_workspace_it_is_empty)245TEST_F(Workspaces, before_a_tree_is_added_to_workspace_it_is_empty)
@@ -452,7 +471,7 @@
452 .set_name(a_window.c_str())471 .set_name(a_window.c_str())
453 .create_window();472 .create_window();
454473
455 mir_buffer_stream_swap_buffers_sync(mir_window_get_buffer_stream(window));474 init_window(window);
456475
457 invoke_tools([&, this](WindowManagerTools& tools)476 invoke_tools([&, this](WindowManagerTools& tools)
458 {477 {
@@ -513,7 +532,7 @@
513 .set_name(a_window.c_str())532 .set_name(a_window.c_str())
514 .create_window();533 .create_window();
515534
516 mir_buffer_stream_swap_buffers_sync(mir_window_get_buffer_stream(window));535 init_window(window);
517536
518 invoke_tools([&, this](WindowManagerTools& tools)537 invoke_tools([&, this](WindowManagerTools& tools)
519 {538 {
@@ -576,7 +595,7 @@
576 .set_name(a_window.c_str())595 .set_name(a_window.c_str())
577 .create_window();596 .create_window();
578597
579 mir_buffer_stream_swap_buffers_sync(mir_window_get_buffer_stream(window));598 init_window(window);
580599
581 invoke_tools([&, this](WindowManagerTools& tools)600 invoke_tools([&, this](WindowManagerTools& tools)
582 {601 {

Subscribers

People subscribed via source and target branches