89
86
void SurfaceManager::onWindowAdded(const NewWindow &window)
88
const auto &windowInfo = window.windowInfo;
92
std::shared_ptr<mir::scene::Surface> surface = window.surface;
93
DEBUG_MSG << " mir::scene::Surface[type=" << mirSurfaceTypeToStr(surface->type())
94
<< ",parent=" << (void*)(surface->parent().get())
95
<< ",state=" << mirSurfaceStateToStr(surface->state())
96
<< ",top_left=" << toQPoint(surface->top_left())
90
DEBUG_MSG << " mir::scene::Surface[type=" << mirSurfaceTypeToStr(windowInfo.type())
91
<< ",parent=" << (void*)(std::shared_ptr<mir::scene::Surface>{windowInfo.parent()}.get())
92
<< ",state=" << mirSurfaceStateToStr(windowInfo.state())
93
<< ",top_left=" << toQPoint(windowInfo.window().top_left())
100
auto mirSession = window.windowInfo.window().application();
97
auto mirSession = windowInfo.window().application();
101
98
SessionInterface* session = ApplicationManager::singleton()->findSession(mirSession.get());
103
MirSurface *parentSurface;
105
std::shared_ptr<mir::scene::Surface> surface = window.windowInfo.window();
106
parentSurface = find(surface->parent());
109
auto surface = new MirSurface(window, m_windowController, session, parentSurface);
100
const auto parentSurface = find(windowInfo.parent());
101
const auto surface = new MirSurface(window, m_windowController, session, parentSurface);
110
102
rememberMirSurface(surface);
112
104
if (parentSurface) {
147
MirSurface *SurfaceManager::find(const std::shared_ptr<mir::scene::Surface> &needle) const
149
Q_FOREACH(const auto surface, m_allSurfaces) {
150
if (surface->window() == needle) {
157
139
void SurfaceManager::onWindowReady(const miral::WindowInfo &windowInfo)
159
141
if (auto mirSurface = find(windowInfo)) {