Skip to content

Commit beaa0ec

Browse files
committed
fix: 解决亮度概率异常的问题
初始化加载配置的时候,不能异步设置亮度,后面设置色温的时候,会拿到未初始化的亮度值。 Log: 解决亮度概率异常的问题 pms: BUG-308187
1 parent c4b7700 commit beaa0ec

1 file changed

Lines changed: 20 additions & 20 deletions

File tree

display1/manager.go

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2092,30 +2092,30 @@ func (m *Manager) applySysMonitorConfigs(mode byte, monitorsId monitorsId, monit
20922092
m.setPropDisplayMode(mode)
20932093
}
20942094

2095-
// 异步处理亮度设置
2096-
go func() {
2097-
for _, config := range configs {
2098-
if config.Enabled {
2099-
err := m.setBrightness(config.Name, config.Brightness)
2100-
if err != nil {
2101-
logger.Warningf("call setBrightness err: %v, config.Name: %s", err, config.Name)
2102-
monitors := m.getConnectedMonitors()
2103-
monitor := monitors.GetByUuid(config.UUID)
2104-
// 插拔过程中存在异常monitor空
2105-
if monitor == nil {
2106-
logger.Warning("call GetByUuid failed: ", config.UUID)
2107-
continue
2108-
}
2095+
// 不能放在线程中设置亮度,因为后续在设置色温的时候亮度可能还没有设置完成,这时亮度的属性值还没有真正的改变
2096+
// cfg的值没有设置到monitorMap中,后面再设置色温的时候拿到的monitorMap中的亮度值就是错误的。
2097+
// TODO:色温和设置亮度都调用了setBrightness的接口,逻辑重复了,需要优化。
2098+
for _, config := range configs {
2099+
if config.Enabled {
2100+
err := m.setBrightness(config.Name, config.Brightness)
2101+
if err != nil {
2102+
logger.Warningf("call setBrightness err: %v, config.Name: %s", err, config.Name)
2103+
monitors := m.getConnectedMonitors()
2104+
monitor := monitors.GetByUuid(config.UUID)
2105+
// 插拔过程中存在异常monitor空
2106+
if monitor == nil {
2107+
logger.Warning("call GetByUuid failed: ", config.UUID)
2108+
continue
2109+
}
21092110

2110-
err := m.setBrightness(monitor.Name, config.Brightness)
2111-
if err != nil {
2112-
logger.Warningf("call setBrightness err: %v, monitor.Name: %s", err, monitor.Name)
2113-
}
2111+
err := m.setBrightness(monitor.Name, config.Brightness)
2112+
if err != nil {
2113+
logger.Warningf("call setBrightness err: %v, monitor.Name: %s", err, monitor.Name)
21142114
}
21152115
}
21162116
}
2117-
m.syncPropBrightness()
2118-
}()
2117+
}
2118+
m.syncPropBrightness()
21192119

21202120
// NOTE: Primary 和 PrimaryRect 属性改变信号应该在 DisplayMode 属性改变之后,否则会引发前端 dcc 的 bug。
21212121
err = m.mm.setMonitorPrimary(primaryMonitorID)

0 commit comments

Comments
 (0)