diff --git a/include/blackborder/BlackBorderProcessor.h b/include/blackborder/BlackBorderProcessor.h index 96db3dbf..0b902005 100644 --- a/include/blackborder/BlackBorderProcessor.h +++ b/include/blackborder/BlackBorderProcessor.h @@ -24,7 +24,7 @@ namespace hyperion Q_OBJECT public: BlackBorderProcessor(Hyperion* hyperion, QObject* parent); - ~BlackBorderProcessor() override; + /// /// Return the current (detected) border /// @return The current border @@ -141,7 +141,7 @@ namespace hyperion QString _detectionMode; /// The black-border detector - BlackBorderDetector* _detector; + std::unique_ptr _detector; /// The current detected border BlackBorder _currentBorder; diff --git a/libsrc/blackborder/BlackBorderProcessor.cpp b/libsrc/blackborder/BlackBorderProcessor.cpp index 538ee534..ab13a49c 100644 --- a/libsrc/blackborder/BlackBorderProcessor.cpp +++ b/libsrc/blackborder/BlackBorderProcessor.cpp @@ -35,12 +35,7 @@ BlackBorderProcessor::BlackBorderProcessor(Hyperion* hyperion, QObject* parent) // listen for component state changes connect(_hyperion, &Hyperion::compStateChangeRequest, this, &BlackBorderProcessor::handleCompStateChangeRequest); - _detector = new BlackBorderDetector(_oldThreshold); -} - -BlackBorderProcessor::~BlackBorderProcessor() -{ - delete _detector; + _detector = std::make_unique(_oldThreshold); } void BlackBorderProcessor::handleSettingsUpdate(settings::type type, const QJsonDocument& config) @@ -66,10 +61,7 @@ void BlackBorderProcessor::handleSettingsUpdate(settings::type type, const QJson if (fabs(_oldThreshold - newThreshold) > std::numeric_limits::epsilon()) { _oldThreshold = newThreshold; - - delete _detector; - - _detector = new BlackBorderDetector(newThreshold); + _detector = std::make_unique(_oldThreshold); } Debug(Logger::getInstance("BLACKBORDER", "I"+QString::number(_hyperion->getInstanceIndex())), "Set mode to: %s", QSTRING_CSTR(_detectionMode));