In skeltrack-skeleton.c and AUTHORS.
It had been copied from the focus point setter and not changed.
We are using new GLib thread API introduced in 2.32, like g_mutex_init().
It was returning a GObject.
It also prevents eventual division by zero of that code.
This abstracts the logic that was repeated for each of the shoulders and simplifies the code.
This is simple to make it easy to understand and control: - Using shoulders_circumference_radius instead of head_circumference_radius is better because it really refers to the shoulders, not the head. - Using a starting point and length, instead of a minimum and maximum point, avoids having to check if the maximum is greater than the minimum.
The reason was that if an "averaged extrema" was already in the list of extremas, then it would insert a NULL extrema in the list which would be accessed later, causing a segfault.