From 66b99bd277a85bf1549a1a36367218e653eedcc4 Mon Sep 17 00:00:00 2001 From: Kamikadze <40305144+Kam1k4dze@users.noreply.github.com> Date: Sun, 8 Jun 2025 01:12:43 +0500 Subject: [PATCH] monitor: ensure autoDir is applied when changed (#10672) --- src/helpers/Monitor.cpp | 2 ++ src/helpers/Monitor.hpp | 1 + 2 files changed, 3 insertions(+) diff --git a/src/helpers/Monitor.cpp b/src/helpers/Monitor.cpp index b0b31526..f2dc2e8c 100644 --- a/src/helpers/Monitor.cpp +++ b/src/helpers/Monitor.cpp @@ -452,6 +452,7 @@ bool CMonitor::applyMonitorRule(SMonitorRule* pMonitorRule, bool force) { && m_pixelSize.x > 1 && m_pixelSize.y > 1 /* Active resolution is not invalid */ && DELTALESSTHAN(m_refreshRate, RULE->refreshRate, 1) /* Refresh rate is the same */ && m_setScale == RULE->scale /* Scale is the same */ + && m_autoDir == RULE->autoDir /* Auto direction is the same */ /* position is set correctly */ && ((DELTALESSTHAN(m_position.x, RULE->offset.x, 1) && DELTALESSTHAN(m_position.y, RULE->offset.y, 1)) || RULE->offset == Vector2D(-INT32_MAX, -INT32_MAX)) /* other properties hadnt changed */ @@ -477,6 +478,7 @@ bool CMonitor::applyMonitorRule(SMonitorRule* pMonitorRule, bool force) { m_setScale = m_scale; m_transform = RULE->transform; + m_autoDir = RULE->autoDir; // accumulate requested modes in reverse order (cause inesrting at front is inefficient) std::vector> requestedModes; diff --git a/src/helpers/Monitor.hpp b/src/helpers/Monitor.hpp index 019a5547..e495cf04 100644 --- a/src/helpers/Monitor.hpp +++ b/src/helpers/Monitor.hpp @@ -85,6 +85,7 @@ class CMonitor { Vector2D m_position = Vector2D(-1, -1); // means unset Vector2D m_xwaylandPosition = Vector2D(-1, -1); // means unset + eAutoDirs m_autoDir = DIR_AUTO_NONE; Vector2D m_size = Vector2D(0, 0); Vector2D m_pixelSize = Vector2D(0, 0); Vector2D m_transformedSize = Vector2D(0, 0);