diff options
author | Johan Klokkhammer Helsing <johan.helsing@qt.io> | 2019-01-16 10:36:52 +0100 |
---|---|---|
committer | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> | 2020-11-19 09:57:00 +0100 |
commit | b2ee9ff3992ee723be178c655464f2dc6f7a9b33 (patch) | |
tree | 56bdc80885142357d4840ecef9ec8d0f373e2a2b /src/compositor/compositor_api/qwaylandquickitem.cpp | |
parent | 2284c2a9842e592b73e27f9643ff3253bc61df85 (diff) |
Client: Fix reverse screen order
[ChangeLog][QPA plugin] Fixed a bug where QGuiApplication::screens() and
primaryScreen() would return initial screens in the reverse order they were
added by the compositor. QGuiApplication::primaryScreen() will now return the
first output added by the compositor.
Calling forceRoundTrip in registry_global() meant it would call itself
recursively if there were additional wl_output events in the queue. This in
turn meant the screens got added in the reverse order. Instead we now add the
screen to a list of not yet initialized screens and add it properly when we've
received the required done events (wl_output and possibly zdg_output_v1).
This also has the added benefit of wl_output hot plugging not calling
forceRoundTrip().
Fixes: QTBUG-72828
Task-number: QTBUG-81657
Change-Id: I35c6959d6c219f65fd19d571a25b5a6cdb3f741b
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
(cherry picked from commit 475910a75a5cd3332fe2f0e5740c4c3c2c0b8987)
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Diffstat (limited to 'src/compositor/compositor_api/qwaylandquickitem.cpp')
0 files changed, 0 insertions, 0 deletions