summaryrefslogtreecommitdiff
path: root/src/backends/meta-monitor-manager.c
diff options
context:
space:
mode:
authorMarco Trevisan (Treviño) <mail@3v1n0.net>2020-05-01 15:34:25 +0200
committerJonas Ådahl <jadahl@gmail.com>2021-09-04 10:01:29 +0200
commit2289f56112a95b5a30853d986e82814ecbe88433 (patch)
tree3a36c8e0a3c42a62fcb1b3125e4444fcbfb1548e /src/backends/meta-monitor-manager.c
parente976137d9780772bdc74105774acf6306328789f (diff)
downloadmutter-2289f56112a95b5a30853d986e82814ecbe88433.tar.gz
monitor-manager: Don't apply unneeded orientation changes
There's no need to ensure monitor orientation changes if the wanted orientation is matching the current one. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1233>
Diffstat (limited to 'src/backends/meta-monitor-manager.c')
-rw-r--r--src/backends/meta-monitor-manager.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/backends/meta-monitor-manager.c b/src/backends/meta-monitor-manager.c
index ce02103f1..cffa8922b 100644
--- a/src/backends/meta-monitor-manager.c
+++ b/src/backends/meta-monitor-manager.c
@@ -811,6 +811,14 @@ handle_orientation_change (MetaOrientationManager *orientation_manager,
MetaMonitorTransform transform;
GError *error = NULL;
MetaMonitorsConfig *config;
+ MetaMonitor *laptop_panel;
+ MetaLogicalMonitor *laptop_logical_monitor;
+
+ laptop_panel = meta_monitor_manager_get_laptop_panel (manager);
+ g_return_if_fail (laptop_panel);
+
+ if (!meta_monitor_is_active (laptop_panel))
+ return;
switch (meta_orientation_manager_get_orientation (orientation_manager))
{
@@ -832,6 +840,10 @@ handle_orientation_change (MetaOrientationManager *orientation_manager,
return;
}
+ laptop_logical_monitor = meta_monitor_get_logical_monitor (laptop_panel);
+ if (meta_logical_monitor_get_transform (laptop_logical_monitor) == transform)
+ return;
+
config =
meta_monitor_config_manager_create_for_orientation (manager->config_manager,
transform);