summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Ådahl <jadahl@gmail.com>2017-09-25 17:57:18 -0400
committerJonas Ådahl <jadahl@gmail.com>2017-10-04 09:45:02 -0400
commit43eeb009ce78588db9fba48574f377629d5de1aa (patch)
tree507d48bb291b1b08957d4510a6ab5a3a34ccb8d8
parent9000eef49dba1462fc67c89a4b731985cf3eda7f (diff)
downloadmutter-43eeb009ce78588db9fba48574f377629d5de1aa.tar.gz
monitor-config-migration: Discard if configured mode is missing
If a configuration key matched a current system state, but no monitor mode was found (for example because of an incorrect refresh rate), discard it while logging a warning. https://bugzilla.gnome.org/show_bug.cgi?id=787668
-rw-r--r--src/backends/meta-monitor-config-migration.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/backends/meta-monitor-config-migration.c b/src/backends/meta-monitor-config-migration.c
index c862168a2..d619dc433 100644
--- a/src/backends/meta-monitor-config-migration.c
+++ b/src/backends/meta-monitor-config-migration.c
@@ -1208,6 +1208,13 @@ meta_finish_monitors_config_migration (MetaMonitorManager *monitor_manager,
monitor_mode_spec = monitor_config->mode_spec;
monitor_mode = meta_monitor_get_mode_from_spec (monitor,
monitor_mode_spec);
+ if (!monitor_mode)
+ {
+ g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
+ "Mode not available on monitor");
+ return FALSE;
+ }
+
scale = meta_monitor_calculate_mode_scale (monitor, monitor_mode);
logical_monitor_config->scale = scale;