mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2025-03-01 10:33:28 +00:00
Fix Memory leaks (#1678)
* Refactor to fix #1671
* Add GUI/NonGUI mode to info page
* Do not show lock config, if in non-UI mode
* Updae Changelog
* Correct includes
* Ensure key member initialization - RGB Channels
* Ensure key member initialization - WebServer
* Update RGBChannels
* Fix initialization order
* Fix key when inserting new logger in LoggerMap,
Prepare logBuffer-JSON snapshot view in LoggerManager,
Increase buffered loglines to 500
* Fix Memory leak in GrabberWrapper
* Fix Memory leak in BlackBorderProcessor
* Fix Memory leak in BlackBorderProcessor
* use ninja generator under macos
* Fix BGEffectHandler destruction
* Fix Mdns code
* Clear list after applying qDeleteAll
* Fix deletion of CecHandler
* Fix memory leak caused by wrong buffer allocation
* Remove extra pixel consistently
* Change mDNS to Qt SmartPointers
* Correct removal
* Fix usage of _width/_height (they are the output resolution, not the screen resolution)
That avoids unnecessary resizing of the output image with every transferFrame call
* Move main non Thread Objects to Smart Pointers
* Revert "Move main non Thread Objects to Smart Pointers"
This reverts commit 26102ca963
.
* Add missing deletes
* Revert MdnsBrowser chnage
* Revert MdnsBrowser change
* Fix memory leaks related standalone grabber
* Address CodeQL finding
* delete pointer OsxFrameGrabber
---------
Co-authored-by: Paulchen-Panther <16664240+Paulchen-Panther@users.noreply.github.com>
This commit is contained in:
@@ -43,6 +43,16 @@ public:
|
||||
handleSettingsUpdate(settings::BGEFFECT, _hyperion->getSetting(settings::BGEFFECT));
|
||||
}
|
||||
|
||||
///
|
||||
/// @brief Disconnect from connected signals
|
||||
/// Disconnect should be done before other priorities invoke methods during shutdown
|
||||
///
|
||||
void disconnect()
|
||||
{
|
||||
QObject::disconnect(_prioMuxer, &PriorityMuxer::prioritiesChanged, nullptr, nullptr);
|
||||
QObject::disconnect(_hyperion, nullptr, nullptr, nullptr);
|
||||
}
|
||||
|
||||
///
|
||||
/// @brief Check, if background effect processing is enabled.
|
||||
/// @return True, background effect processing is enabled.
|
||||
|
@@ -16,21 +16,21 @@ public:
|
||||
QString _id;
|
||||
|
||||
/// The BLACK (RGB-Channel) adjustment
|
||||
RgbChannelAdjustment _rgbBlackAdjustment;
|
||||
RgbChannelAdjustment _rgbBlackAdjustment {0, 0, 0, "black"};
|
||||
/// The WHITE (RGB-Channel) adjustment
|
||||
RgbChannelAdjustment _rgbWhiteAdjustment;
|
||||
RgbChannelAdjustment _rgbWhiteAdjustment{255, 255, 255, "white"};
|
||||
/// The RED (RGB-Channel) adjustment
|
||||
RgbChannelAdjustment _rgbRedAdjustment;
|
||||
RgbChannelAdjustment _rgbRedAdjustment {255, 0, 0 , "red"};
|
||||
/// The GREEN (RGB-Channel) adjustment
|
||||
RgbChannelAdjustment _rgbGreenAdjustment;
|
||||
RgbChannelAdjustment _rgbGreenAdjustment {0, 255, 0, "green"};
|
||||
/// The BLUE (RGB-Channel) adjustment
|
||||
RgbChannelAdjustment _rgbBlueAdjustment;
|
||||
RgbChannelAdjustment _rgbBlueAdjustment {0, 0, 255, "blue"};
|
||||
/// The CYAN (RGB-Channel) adjustment
|
||||
RgbChannelAdjustment _rgbCyanAdjustment;
|
||||
RgbChannelAdjustment _rgbCyanAdjustment {0, 255, 255, "cyan"};
|
||||
/// The MAGENTA (RGB-Channel) adjustment
|
||||
RgbChannelAdjustment _rgbMagentaAdjustment;
|
||||
RgbChannelAdjustment _rgbMagentaAdjustment {255, 0, 255, "magenta"};
|
||||
/// The YELLOW (RGB-Channel) adjustment
|
||||
RgbChannelAdjustment _rgbYellowAdjustment;
|
||||
RgbChannelAdjustment _rgbYellowAdjustment {255, 255, 0, "yellow"};
|
||||
|
||||
RgbTransform _rgbTransform;
|
||||
OkhsvTransform _okhsvTransform;
|
||||
|
@@ -6,6 +6,7 @@
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <QMultiMap>
|
||||
#include <QScopedPointer>
|
||||
|
||||
#include <utils/Logger.h>
|
||||
#include <utils/Components.h>
|
||||
@@ -91,8 +92,8 @@ public:
|
||||
template <typename Grabber_T>
|
||||
bool transferFrame(Grabber_T &grabber)
|
||||
{
|
||||
unsigned w = grabber.getImageWidth();
|
||||
unsigned h = grabber.getImageHeight();
|
||||
int w = grabber.getImageWidth();
|
||||
int h = grabber.getImageHeight();
|
||||
if ( _image.width() != w || _image.height() != h)
|
||||
{
|
||||
_image.resize(w, h);
|
||||
@@ -185,7 +186,7 @@ protected:
|
||||
Logger * _log;
|
||||
|
||||
/// The timer for generating events with the specified update rate
|
||||
QTimer* _timer;
|
||||
QScopedPointer<QTimer> _timer;
|
||||
|
||||
/// The calculated update rate [ms]
|
||||
int _updateInterval_ms;
|
||||
|
Reference in New Issue
Block a user