[platforms/drm] Apply new global position on DrmOutput for a changeset
Summary: When we get a configuration request, we also need to update the global position on the DrmOutput, otherwise Wayland will know about the new position, but KWin internally does not. In addition we also need to trigger the changed signal on KWin::Screens, so that internally code can react on the change. With this change configuring layout of connected screens in KScreen does work also in KWin. Reviewers: #kwin, #plasma_on_wayland, sebas Subscribers: plasma-devel, kwin Tags: #plasma_on_wayland, #kwin Differential Revision: https://phabricator.kde.org/D1858
This commit is contained in:
parent
2b196bfa29
commit
f5b83d18b8
2 changed files with 2 additions and 0 deletions
|
@ -387,6 +387,7 @@ void DrmBackend::configurationChangeRequested(KWayland::Server::OutputConfigurat
|
|||
}
|
||||
drmoutput->setChanges(changeset);
|
||||
}
|
||||
emit screens()->changed();
|
||||
}
|
||||
|
||||
DrmOutput *DrmBackend::findOutput(quint32 connector)
|
||||
|
|
|
@ -604,6 +604,7 @@ bool DrmOutput::commitChanges()
|
|||
qCDebug(KWIN_DRM) << "Server setting position: " << m_changeset->position();
|
||||
m_waylandOutput->setGlobalPosition(m_changeset->position());
|
||||
m_waylandOutputDevice->setGlobalPosition(m_changeset->position());
|
||||
setGlobalPos(m_changeset->position());
|
||||
// may just work already!
|
||||
}
|
||||
if (m_changeset->scaleChanged()) {
|
||||
|
|
Loading…
Reference in a new issue