From d24b4ac08a2087d6c30ce49d9e47ca546863bf80 Mon Sep 17 00:00:00 2001 From: dengbo Date: Thu, 4 Aug 2022 14:56:36 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BB=BB=E5=8A=A1=E6=A0=8F=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E9=9A=90=E8=97=8F=E6=A8=A1=E5=BC=8F=E4=B8=8B=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E4=BD=8D=E7=BD=AE=E5=90=8E=E6=98=BE=E7=A4=BA=E5=BC=82?= =?UTF-8?q?=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 当设置为一直隐藏模式时,按照当前隐藏的状态去设置任务栏区域信息,否则,按照当前显示模式去设置 防止在智能隐藏模式下任务栏的位置更新了,没有去更新后端任务栏的位置,导致任务栏显示状态异常 Log: 解决任务栏自动隐藏模式下调整位置后显示异常的问题 Bug: https://pms.uniontech.com/bug-view-149555.html Influence: 任务栏正常显示 Change-Id: I58334a4f0d99372e8f170f4d355464ce001f3af6 --- frame/util/multiscreenworker.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/frame/util/multiscreenworker.cpp b/frame/util/multiscreenworker.cpp index 959667b05..77ab4035a 100644 --- a/frame/util/multiscreenworker.cpp +++ b/frame/util/multiscreenworker.cpp @@ -668,11 +668,13 @@ void MultiScreenWorker::onRequestUpdateRegionMonitor() void MultiScreenWorker::onRequestUpdateFrontendGeometry() { - const QRect rect = dockRectWithoutScale(m_ds.current(), m_position, m_hideMode, m_displayMode); + HideMode hideMode = HideMode::KeepShowing; + // 当设置为一直隐藏模式时,按照当前隐藏的状态去设置任务栏区域信息,否则,按照当前显示模式去设置 + if (m_hideMode == HideMode::KeepHidden) { + hideMode = m_hideMode; + } - //!!! 智能隐藏模式下隐藏之后不需要在设置一次,否则会导致HideState属性循环变化 - if (m_hideMode == HideMode::SmartHide && m_currentHideState == HideState::Hide) - return; + const QRect rect = dockRectWithoutScale(m_ds.current(), m_position, hideMode, m_displayMode); #ifdef QT_DEBUG qDebug() << rect;