summaryrefslogtreecommitdiff
path: root/src/backends/meta-monitor-manager.c
diff options
context:
space:
mode:
authorMarco Trevisan (Treviño) <mail@3v1n0.net>2018-11-29 23:29:08 -0500
committerMarco Trevisan (Treviño) <mail@3v1n0.net>2021-07-22 15:38:04 +0200
commit1ab79c79a5290dc5034f0835bfe3252278710e7c (patch)
tree36610964a26d767ff776e0af34d83bb1301851d0 /src/backends/meta-monitor-manager.c
parent7c87c1c24f3fdf1e640aca2725072effb281ae84 (diff)
downloadmutter-1ab79c79a5290dc5034f0835bfe3252278710e7c.tar.gz
monitor-manager: Derive configured global scale using common value
When deriving the global scale from config, we need to ensure that the value is matching all the monitor configurations. If not, we should fallback to the normal scale value. Fixes https://gitlab.gnome.org/GNOME/mutter/issues/407 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/336>
Diffstat (limited to 'src/backends/meta-monitor-manager.c')
-rw-r--r--src/backends/meta-monitor-manager.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/backends/meta-monitor-manager.c b/src/backends/meta-monitor-manager.c
index 71ff8a2a3..1d42cad21 100644
--- a/src/backends/meta-monitor-manager.c
+++ b/src/backends/meta-monitor-manager.c
@@ -219,11 +219,17 @@ static float
derive_configured_global_scale (MetaMonitorManager *manager,
MetaMonitorsConfig *config)
{
- MetaLogicalMonitorConfig *logical_monitor_config;
+ GList *l;
- logical_monitor_config = config->logical_monitor_configs->data;
+ for (l = config->logical_monitor_configs; l; l = l->next)
+ {
+ MetaLogicalMonitorConfig *monitor_config = l->data;
- return logical_monitor_config->scale;
+ if (is_global_scale_matching_in_config (config, monitor_config->scale))
+ return monitor_config->scale;
+ }
+
+ return 1.0;
}
static float