- TimelineAndTrackView: disconnect the scrollbar sync connections in the
destructor. Child views reset their scene during destruction, which can
re-emit QScrollBar::valueChanged into a half-destroyed object and trip
Qt's assertObjectType abort.
- TimeScaledObject: keep minimum <= maximum when setting scale limits so
set_scale()'s std::clamp is never called with inverted limits (UB).
Setting the maximum below the minimum now pulls the minimum down, and
vice versa, matching QAbstractSlider conventions.
The macro defined namespaces confused the hell out of lupdate and more or less broke translations permanently. Looks like the only way we can do it is to have a hardcoded namespace, which goes against my instinct, but honestly how likely is it that we'll change the namespace anyway (I guess forks might want to do it, but that's their problem ;) )