Fix the signature again, and also rest of the errors

Next time, remember to check with -Werror first...
Merge branch '2.4'