Move RGBController base destructor functionality into RGBController::Shutdown() so that update thread can be stopped before deleting the controller. Shutdown() must be called in every RGBController implementation before deleting the controller. Also some fixes to the NetworkServer to avoid deadlocking and disconnect issues

This commit is contained in:
Adam Honse committed 2026-03-12 16:42:21 +00:00
1 parent f592b48696
commit ba1b68ee8a
331 files changed
+790 -37

No files matched your search

@@ -107,6 +107,8 @@ RGBController_LogitechG203L::RGBController_LogitechG203L(LogitechG203LController
RGBController_LogitechG203L::~RGBController_LogitechG203L()
{
Shutdown();
delete controller;
}
@@ -106,6 +106,8 @@ RGBController_LogitechG213::RGBController_LogitechG213(LogitechG213Controller* c
RGBController_LogitechG213::~RGBController_LogitechG213()
{
Shutdown();
delete controller;
}
@@ -49,6 +49,13 @@ RGBController_LogitechG560::RGBController_LogitechG560(LogitechG560Controller* c
SetupZones();
}
RGBController_LogitechG560::~RGBController_LogitechG560()
{
Shutdown();
delete controller;
}
void RGBController_LogitechG560::SetupZones()
{
zone G560_left_front;
@@ -19,6 +19,7 @@ class RGBController_LogitechG560 : public RGBController
{
public:
RGBController_LogitechG560(LogitechG560Controller* controller_ptr);
~RGBController_LogitechG560();
void SetupZones();
@@ -64,6 +64,8 @@ RGBController_LogitechG600::RGBController_LogitechG600(LogitechG600Controller* c
RGBController_LogitechG600::~RGBController_LogitechG600()
{
Shutdown();
delete controller;
}
@@ -241,6 +241,8 @@ RGBController_LogitechG810::RGBController_LogitechG810(LogitechG810Controller* c
RGBController_LogitechG810::~RGBController_LogitechG810()
{
Shutdown();
delete controller;
}
@@ -246,6 +246,8 @@ RGBController_LogitechG815::RGBController_LogitechG815(LogitechG815Controller* c
RGBController_LogitechG815::~RGBController_LogitechG815()
{
Shutdown();
delete controller;
}
@@ -242,6 +242,8 @@ RGBController_LogitechG910::RGBController_LogitechG910(LogitechG910Controller* c
RGBController_LogitechG910::~RGBController_LogitechG910()
{
Shutdown();
delete controller;
}
@@ -381,6 +381,8 @@ RGBController_LogitechG915::RGBController_LogitechG915(LogitechG915Controller* c
RGBController_LogitechG915::~RGBController_LogitechG915()
{
Shutdown();
delete controller;
}
@@ -50,6 +50,13 @@ RGBController_LogitechG933::RGBController_LogitechG933(LogitechG933Controller* c
SetupZones();
}
RGBController_LogitechG933::~RGBController_LogitechG933()
{
Shutdown();
delete controller;
}
void RGBController_LogitechG933::SetupZones()
{
zone G933_logo;
@@ -19,6 +19,7 @@ class RGBController_LogitechG933 : public RGBController
{
public:
RGBController_LogitechG933(LogitechG933Controller* controller_ptr);
~RGBController_LogitechG933();
void SetupZones();
@@ -85,6 +85,8 @@ RGBController_LogitechGLightsync::RGBController_LogitechGLightsync(LogitechGLigh
RGBController_LogitechGLightsync::~RGBController_LogitechGLightsync()
{
Shutdown();
delete controller;
}
@@ -85,6 +85,8 @@ RGBController_LogitechGLightsync1zone::RGBController_LogitechGLightsync1zone(Log
RGBController_LogitechGLightsync1zone::~RGBController_LogitechGLightsync1zone()
{
Shutdown();
delete controller;
}
@@ -79,6 +79,8 @@ RGBController_LogitechGPowerPlay::RGBController_LogitechGPowerPlay(LogitechGLigh
RGBController_LogitechGPowerPlay::~RGBController_LogitechGPowerPlay()
{
Shutdown();
delete controller;
}
@@ -218,6 +218,8 @@ RGBController_LogitechGProKeyboard::RGBController_LogitechGProKeyboard(LogitechG
RGBController_LogitechGProKeyboard::~RGBController_LogitechGProKeyboard()
{
Shutdown();
delete controller;
}
@@ -159,6 +159,8 @@ RGBController_LogitechLightspeed::RGBController_LogitechLightspeed(LogitechLight
RGBController_LogitechLightspeed::~RGBController_LogitechLightspeed()
{
Shutdown();
delete controller;
}
@@ -47,6 +47,8 @@ RGBController_LogitechX56::RGBController_LogitechX56(LogitechX56Controller* cont
RGBController_LogitechX56::~RGBController_LogitechX56()
{
Shutdown();
delete controller;
}