D19253: [WIP] Send xdg_output done event only when wl_output does too
Roman Gilg <[email protected]>
| Newsgroups | gmane.comp.kde.devel.kwin |
|---|---|
| Message-ID | <[email protected]> |
romangg created this revision. romangg added a reviewer: KWin. Herald added a project: KWin. Herald added a subscriber: kwin. romangg requested review of this revision. REVISION SUMMARY XWayland expects the wl_output and xdg_output done calls always to come in pairs. But when the wl_output position is not changed our KWayland::Server::OutputInterface does not send a done event. Then the next time a pair is sent before the xdg-output information is received XWayland pairs the wl_output data with the data from the previous xdg_output data, what breaks XWayland screen bound calculations and by that cursor placement. This preliminary fix makes sure the events are only sent in pairs. Long-term it would be nicer to have the synchronization directly in KWayland, such that we don't need to check its expected behavior from the outside. BUG: 404730 TEST PLAN Manually in two heads setup: - Start with two connected monitors of similar resolution. - Remove monitor to the right. - Reconnect monitor. - Switch monitor positions. Without the fix X cursor on the right monitor is can not reach all area. REPOSITORY R108 KWin BRANCH xdgOutputDone REVISION DETAIL https://phabricator.kde.org/D19253 AFFECTED FILES abstract_output.cpp To: romangg, #kwin Cc: kwin, jraleigh, GB_2, mkulinski, ragreen, jackyalcine, Pitel, iodelay, bwowk, ZrenBot, ngraham, alexeymin, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart