settings: Get UI scaling factor from primary logical monitor
authorJonas Ådahl <jadahl@gmail.com>
Wed, 11 Oct 2017 09:55:50 +0000 (17:55 +0800)
committerJeremy Bicha <jbicha@debian.org>
Sat, 21 Oct 2017 23:47:22 +0000 (00:47 +0100)
Don't use MAX(logical monitor scales) to determine the UI scaling
factor, just use the primary logical monitor. That's where the shell UI
will most likely be.

https://bugzilla.gnome.org/show_bug.cgi?id=788820

Gbp-Pq: Name 0007-settings-Get-UI-scaling-factor-from-primary-logical-.patch

src/backends/meta-settings.c

index cf66334f126608a0cae9b857ebbe8c9489c43481..73741fd5ac51f8e3cd96ba95e98571904a3a03da 100644 (file)
@@ -67,23 +67,14 @@ calculate_ui_scaling_factor (MetaSettings *settings)
 {
   MetaMonitorManager *monitor_manager =
     meta_backend_get_monitor_manager (settings->backend);
-  GList *logical_monitors;
-  GList *l;
-  float max_scale = 1.0;
+  MetaLogicalMonitor *primary_logical_monitor;
 
-  logical_monitors =
-    meta_monitor_manager_get_logical_monitors (monitor_manager);
-  for (l = logical_monitors; l; l = l->next)
-    {
-      MetaLogicalMonitor *logical_monitor = l->data;
-
-      max_scale = MAX (meta_logical_monitor_get_scale (logical_monitor),
-                       max_scale);
-    }
-
-  g_warn_if_fail (fmodf (max_scale, 1.0) == 0.0);
+  primary_logical_monitor =
+    meta_monitor_manager_get_primary_logical_monitor (monitor_manager);
+  if (!primary_logical_monitor)
+    return 1;
 
-  return (int) max_scale;
+  return (int) meta_logical_monitor_get_scale (primary_logical_monitor);
 }
 
 static gboolean