diff --git a/src/macro-external/video/macro-condition-video.cpp b/src/macro-external/video/macro-condition-video.cpp index f64b5cdc..745d8007 100644 --- a/src/macro-external/video/macro-condition-video.cpp +++ b/src/macro-external/video/macro-condition-video.cpp @@ -279,16 +279,20 @@ bool MacroConditionVideo::ScreenshotContainsPattern() bool MacroConditionVideo::OutputChanged() { - if (_patternMatchParameters.useForChangedCheck) { - cv::UMat result; - _patternImageData = CreatePatternData(_matchImage); - MatchPattern(_screenshotData.image, _patternImageData, - _patternMatchParameters.threshold, result, - _patternMatchParameters.useAlphaAsMask, - _patternMatchParameters.matchMode); - return countNonZero(result) == 0; + if (!_patternMatchParameters.useForChangedCheck) { + return _screenshotData.image != _matchImage; } - return _screenshotData.image != _matchImage; + + cv::UMat result; + _patternImageData = CreatePatternData(_matchImage); + MatchPattern(_screenshotData.image, _patternImageData, + _patternMatchParameters.threshold, result, + _patternMatchParameters.useAlphaAsMask, + _patternMatchParameters.matchMode); + if (result.total() == 0) { + return false; + } + return countNonZero(result) == 0; } bool MacroConditionVideo::ScreenshotContainsObject()