Skip to content

WIP: Handover guiding requirement from scheduler to capture

When starting capture from the scheduler, there is no explicit handover of the requirement whether guiding should be running during capture. Instead, guiding is started first by the scheduler and as soon as it is running smoothly, capture is started.

In most cases, this is absolutely fine. There is only a short timeframe between the start command issued by the scheduler and the de-facto-start of capture. This is typically a matter of 10-20ms. If exactly in this time guiding fails, capture thinks when starting, that guiding is not expected to run and ignores subsequently to check, if guiding is still running.

To fix this, the flag now is explicitly handed over as start command parameter.

Test Plan

Testing this requires kstars running from a debugger to ensure catching the handover. Set a breakpoint at line 4684 of scheduler.cpp where the D-Bus invocation is located. Start a schedule that requires guiding, wait until guiding is running and scheduler hits the breakpoint. Now manually stop guiding and let afterwards continue the scheduler in the debugger.

Without this fix, capture should start leaving guiding stopped. With this fix, guiding should be restarted first before capture starts.

Merge request reports