From 09e5e2a248fc6b0a8d4c60c3f2072bb252d54ec1 Mon Sep 17 00:00:00 2001 From: JoniVR Date: Tue, 3 Aug 2021 20:26:26 +0200 Subject: [PATCH] fix(Intel): hacky workaround for ddc unreliability Requires a proper fix in the future, see: #478 --- MonitorControl/Model/ExternalDisplay.swift | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/MonitorControl/Model/ExternalDisplay.swift b/MonitorControl/Model/ExternalDisplay.swift index 967bbe4..9148a76 100644 --- a/MonitorControl/Model/ExternalDisplay.swift +++ b/MonitorControl/Model/ExternalDisplay.swift @@ -286,8 +286,13 @@ class ExternalDisplay: Display { return self.arm64ddcComm(send: &send, reply: &reply) #else - - return self.ddc?.write(command: command, value: value, errorRecoveryWaitTime: 2000) + // NOTE: Loop is a hacky workaround that should probably be removed as it wasn't necessary before and makes things choppy. + // SEE: https://github.com/MonitorControl/MonitorControl/issues/478 + var success = false + for _ in 1 ... 2 { + success = self.ddc?.write(command: command, value: value, errorRecoveryWaitTime: 2000) ?? false + } + return success #endif }