compositor_wayland: ignore placeholder outputs
Placeholder outputs don't have renderloops or output layers. If they're not ignored, KWin crashes
This commit is contained in:
parent
0605054193
commit
66cef35c64
1 changed files with 6 additions and 0 deletions
|
@ -245,6 +245,9 @@ void WaylandCompositor::stop()
|
||||||
|
|
||||||
void WaylandCompositor::addOutput(Output *output)
|
void WaylandCompositor::addOutput(Output *output)
|
||||||
{
|
{
|
||||||
|
if (output->isPlaceholder()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
auto workspaceLayer = new RenderLayer(output->renderLoop());
|
auto workspaceLayer = new RenderLayer(output->renderLoop());
|
||||||
workspaceLayer->setDelegate(std::make_unique<SceneDelegate>(m_scene.get(), output));
|
workspaceLayer->setDelegate(std::make_unique<SceneDelegate>(m_scene.get(), output));
|
||||||
workspaceLayer->setGeometry(output->rect());
|
workspaceLayer->setGeometry(output->rect());
|
||||||
|
@ -357,6 +360,9 @@ void WaylandCompositor::addOutput(Output *output)
|
||||||
|
|
||||||
void WaylandCompositor::removeOutput(Output *output)
|
void WaylandCompositor::removeOutput(Output *output)
|
||||||
{
|
{
|
||||||
|
if (output->isPlaceholder()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
removeSuperLayer(m_superlayers[output->renderLoop()]);
|
removeSuperLayer(m_superlayers[output->renderLoop()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue