Commit Graph
25 Commits
Author SHA1 Message Date
Robin Getz c2b30d4fa8 tree wide: Fix message ownership and reporting for unhandled queue messages
MessageQueue::pop() transfers ownership of the popped message to the
caller, but many handleInputMessages() implementations only deleted
the message when handleMessage() returned true. When a message was not
handled, ownership had already been transferred from the queue and the
message was leaked.

This was identified while investigating an ASAN leak in the audio
subsystem.

Update the applicable handleInputMessages() implementations to always
delete messages after handleMessage() returns. Unhandled messages are
also logged with the component and message identifier so unexpected
message routing is visible during debugging.

This change:
- Ensures every message popped from a queue has its ownership resolved.
- Prevents leaks when handleMessage() returns false.
- Makes unhandled messages visible instead of silently discarding them.
- Preserves the existing message handling logic and does not require
  components to handle message types that are legitimately irrelevant
  to them.

The changes are intentionally mechanical and limited to the common
message queue ownership and diagnostic pattern.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-09-25 23:49:05 -04:00
Robin Getz 368ea7df9f gs232controllerworker: Initialize GS232ControllerWorker running state
Initialize the previously uninitialized m_running member to false to eliminate
the cppcheck UNINIT_CTOR warning. This ensures the worker starts in a defined
stopped state and avoids undefined behavior from reading uninitialized state.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-09-13 20:22:53 -04:00
Daniele Forsi 8c3f7e3775 Remove unused includes and use more direct includes 2024-04-11 23:31:34 +02:00
srcejon 1ace16cfe2 Add Sky Map support to Rotator Controller. 2024-02-14 13:21:26 +00:00
f4exb 00b041d762 Rewriting of copyright notices for plugins/features. Part of #1893 2023-11-18 13:12:18 +01:00
Jon Beniston 4ac5e729ff Rotator Controller Updates
Add support for X/Y coordinates.
Add coordinate precision setting.
Automatically scan for serial port changes.
Refactor so each protocol is implemented in a separate class.
Add start of DFM protocol.
2023-04-03 16:47:13 +01:00
Jon Beniston a4beb0e0d5 Fix #1559. Update protocol before calling setAzimuthElevation 2023-01-06 09:18:02 +00:00
f4exb 005cee925d Rotator Controller feature: Make settings assignments atomic. Part of #1329 2022-11-24 16:40:36 +01:00
Jon Beniston e6b54ccb1d Rotator controller: Fix initialisation of serial port. Fix crash when serial port not initialised 2022-11-18 10:55:15 +00:00
Jon Beniston 139642ad4a Fix support for using Serial or TCP for either protocol 2022-10-28 13:56:39 +01:00
Jon Beniston b1ce69fb2b Call stopWork from destructor. 2022-09-20 21:13:12 +01:00
Jon Beniston 5da8d6d28c Update threading in Rotator Controller for #1346 2022-09-18 16:47:06 +01:00
Jiří Pinkava 0df2d75e6d Replace deprecated QMutex(Recursive) with QRecursiveMutex 2022-09-17 23:00:07 +02:00
Jon Beniston 994cadc91f Open/close serial ports in worker thread. Fix for #1153 2022-03-03 11:06:18 +00:00
Jon Beniston d5857c3878 Move Feature workers to thread 2021-11-25 09:28:59 +00:00
Jon Beniston 257b265ee8 GS232 Rotator Controller updates
Add support for hamlib/rotctld protocol.
Add support for TCP connections.
Name plugin Rotator Controller, rather than GS-232 Rotator Controller, as it now supports 3 different protocols.
2021-11-23 12:13:24 +00:00
Jon Beniston 750f556eaa GS-232 Controller Updates
Fix broken pipe #1006.
Add onTarget and current and target aziumth and elevation to web report.
Set run/stop button background to yellow when rotator is rotating (not onTarget).
Use floating point value for tolerance setting.
2021-10-05 14:03:31 +01:00
Jon Beniston 8eb369b3bc Add cmath to fix gcc compilation 2021-05-30 12:52:01 +01:00
Jon Beniston f51e8b4095 Add SPID rot2prog protocol support. Add tolerance setting. 2021-05-30 12:38:07 +01:00
Jon Beniston b5d293f6e7 Add support for parsing GS-232 response sent by SPID MD-02 2021-05-16 09:28:06 +01:00
Jon Beniston 30a8dd00ea Add ERC-M controller support in GS-232 Controller 2021-03-01 16:03:10 +00:00
Jon Beniston cd504da84e Add min and max limits for azimuth and elevation in GS-232 controller. Add satellite tracker support 2021-02-26 20:27:35 +00:00
Christoph Berg 0d6a3a4f47 Fix some typos spotted by lintian 2021-01-19 12:36:56 +01:00
Jon Beniston 931a63dc8b GS-232 Controller updates.
Update GS-232 controller to use message pipes for the target.
Add field displaying the name of the target.
Add azimuth and elevation offsets.
Report worker thread errors to the GUI.
2021-01-13 19:44:53 +00:00
Jon Beniston 1a9b6d1763 Add ADS-B Demodulator plugin.
Add GS232 Rotator Controller feature plugin.
Add altitude and station name to My Positon.
Use QtDeploy to ensure all required Qt libraries are included (Should
fix OpenGL issues)
2020-10-27 16:22:10 +00:00