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
2026-02-02 17:10:37 -06:00
parent f592b48696
commit ba1b68ee8a
331 changed files with 790 additions and 37 deletions

View File

@@ -107,6 +107,8 @@ RGBController_LogitechG203L::RGBController_LogitechG203L(LogitechG203LController
RGBController_LogitechG203L::~RGBController_LogitechG203L()
{
Shutdown();
delete controller;
}

View File

@@ -106,6 +106,8 @@ RGBController_LogitechG213::RGBController_LogitechG213(LogitechG213Controller* c
RGBController_LogitechG213::~RGBController_LogitechG213()
{
Shutdown();
delete controller;
}

View File

@@ -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;

View File

@@ -19,6 +19,7 @@ class RGBController_LogitechG560 : public RGBController
{
public:
RGBController_LogitechG560(LogitechG560Controller* controller_ptr);
~RGBController_LogitechG560();
void SetupZones();

View File

@@ -64,6 +64,8 @@ RGBController_LogitechG600::RGBController_LogitechG600(LogitechG600Controller* c
RGBController_LogitechG600::~RGBController_LogitechG600()
{
Shutdown();
delete controller;
}

View File

@@ -241,6 +241,8 @@ RGBController_LogitechG810::RGBController_LogitechG810(LogitechG810Controller* c
RGBController_LogitechG810::~RGBController_LogitechG810()
{
Shutdown();
delete controller;
}

View File

@@ -246,6 +246,8 @@ RGBController_LogitechG815::RGBController_LogitechG815(LogitechG815Controller* c
RGBController_LogitechG815::~RGBController_LogitechG815()
{
Shutdown();
delete controller;
}

View File

@@ -242,6 +242,8 @@ RGBController_LogitechG910::RGBController_LogitechG910(LogitechG910Controller* c
RGBController_LogitechG910::~RGBController_LogitechG910()
{
Shutdown();
delete controller;
}

View File

@@ -381,6 +381,8 @@ RGBController_LogitechG915::RGBController_LogitechG915(LogitechG915Controller* c
RGBController_LogitechG915::~RGBController_LogitechG915()
{
Shutdown();
delete controller;
}

View File

@@ -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;

View File

@@ -19,6 +19,7 @@ class RGBController_LogitechG933 : public RGBController
{
public:
RGBController_LogitechG933(LogitechG933Controller* controller_ptr);
~RGBController_LogitechG933();
void SetupZones();

View File

@@ -85,6 +85,8 @@ RGBController_LogitechGLightsync::RGBController_LogitechGLightsync(LogitechGLigh
RGBController_LogitechGLightsync::~RGBController_LogitechGLightsync()
{
Shutdown();
delete controller;
}

View File

@@ -85,6 +85,8 @@ RGBController_LogitechGLightsync1zone::RGBController_LogitechGLightsync1zone(Log
RGBController_LogitechGLightsync1zone::~RGBController_LogitechGLightsync1zone()
{
Shutdown();
delete controller;
}

View File

@@ -79,6 +79,8 @@ RGBController_LogitechGPowerPlay::RGBController_LogitechGPowerPlay(LogitechGLigh
RGBController_LogitechGPowerPlay::~RGBController_LogitechGPowerPlay()
{
Shutdown();
delete controller;
}

View File

@@ -218,6 +218,8 @@ RGBController_LogitechGProKeyboard::RGBController_LogitechGProKeyboard(LogitechG
RGBController_LogitechGProKeyboard::~RGBController_LogitechGProKeyboard()
{
Shutdown();
delete controller;
}

View File

@@ -159,6 +159,8 @@ RGBController_LogitechLightspeed::RGBController_LogitechLightspeed(LogitechLight
RGBController_LogitechLightspeed::~RGBController_LogitechLightspeed()
{
Shutdown();
delete controller;
}

View File

@@ -47,6 +47,8 @@ RGBController_LogitechX56::RGBController_LogitechX56(LogitechX56Controller* cont
RGBController_LogitechX56::~RGBController_LogitechX56()
{
Shutdown();
delete controller;
}