summaryrefslogtreecommitdiffstats
path: root/src/platforms/mirserver/mirserver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/platforms/mirserver/mirserver.cpp')
-rw-r--r--src/platforms/mirserver/mirserver.cpp16
1 files changed, 5 insertions, 11 deletions
diff --git a/src/platforms/mirserver/mirserver.cpp b/src/platforms/mirserver/mirserver.cpp
index a60fb0d..f7bb74a 100644
--- a/src/platforms/mirserver/mirserver.cpp
+++ b/src/platforms/mirserver/mirserver.cpp
@@ -19,7 +19,7 @@
#include "mirserver.h"
// local
-#include "mirshell.h"
+#include "mirwindowmanager.h"
#include "mirglconfig.h"
#include "mirserverstatuslistener.h"
#include "promptsessionlistener.h"
@@ -86,17 +86,10 @@ MirServer::MirServer(int argc, char const* argv[], QObject* parent)
return std::make_shared<MirServerStatusListener>();
});
- override_the_shell([this]
+ override_the_window_manager_builder([this](mir::shell::FocusController* /*focus_controller*/)
+ -> std::shared_ptr<mir::shell::WindowManager>
{
- auto const shell = std::make_shared<MirShell>(
- the_input_targeter(),
- the_surface_coordinator(),
- the_session_coordinator(),
- the_prompt_session_manager(),
- the_shell_display_layout());
-
- m_shell = shell;
- return shell;
+ return std::make_shared<MirWindowManager>(the_shell_display_layout());
});
set_terminator([&](int)
@@ -151,5 +144,6 @@ PromptSessionListener *MirServer::promptSessionListener()
MirShell *MirServer::shell()
{
+ std::weak_ptr<MirShell> m_shell = the_shell();
return m_shell.lock().get();
}