wayland/output: Make each wl_output correspond to one monitor

This is more in line with the protocol, and allows us to remove some
awkward code that tries to "combine" different metadata from different
monitors into one, which sometimes meant picking an arbitrary "main"
monitor, or "and" metadata together to find a common ground.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1712>
This commit is contained in:
Jonas Ådahl
2021-02-05 17:22:30 +01:00
committed by Marge Bot
parent 4615da2122
commit bf7c34507d
2 changed files with 76 additions and 114 deletions

View File

@ -240,7 +240,6 @@ get_output_for_stage_view (MetaWaylandCompositor *compositor,
MetaCrtc *crtc;
MetaOutput *output;
MetaMonitor *monitor;
MetaLogicalMonitor *logical_monitor;
crtc = meta_renderer_view_get_crtc (META_RENDERER_VIEW (stage_view));
@ -251,8 +250,8 @@ get_output_for_stage_view (MetaWaylandCompositor *compositor,
output = meta_crtc_get_outputs (crtc)->data;
monitor = meta_output_get_monitor (output);
logical_monitor = meta_monitor_get_logical_monitor (monitor);
return g_hash_table_lookup (compositor->outputs, &logical_monitor->winsys_id);
return g_hash_table_lookup (compositor->outputs,
meta_monitor_get_spec (monitor));
}
static void