summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Müllner <fmuellner@gnome.org>2018-03-08 20:12:54 +0100
committerFlorian Müllner <fmuellner@gnome.org>2018-03-09 16:20:58 +0100
commite977d652446bb9f9add22c9f4205799a63dbf566 (patch)
tree1be7c62dee21618dc861c837484f0138c5540e4b
parent675d429ba008d8231fc6d6893ad4556a23dcde8a (diff)
downloadmutter-wip/fmuellner/fix-headless-segfault.tar.gz
monitor: Allow %NULL mode in calculate_mode_scale()wip/fmuellner/fix-headless-segfault
If no global scaling factor has been set, we currently segfault when called with a %NULL mode parameter, which happens when calculating the scale for the current mode while no modes are available. Adding %NULL checks in the corresponding callers would mean that we'd have to duplicate the global scaling factor handling, so instead consider %NULL mode parameters valid and handle them gracefully. https://gitlab.gnome.org/GNOME/mutter/merge_requests/41
-rw-r--r--src/backends/meta-monitor.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/backends/meta-monitor.c b/src/backends/meta-monitor.c
index 51c793543..7e8b7c706 100644
--- a/src/backends/meta-monitor.c
+++ b/src/backends/meta-monitor.c
@@ -1458,6 +1458,9 @@ calculate_scale (MetaMonitor *monitor,
scale = 1.0;
+ if (monitor_mode == NULL)
+ goto out;
+
meta_monitor_mode_get_resolution (monitor_mode,
&resolution_width,
&resolution_height);