The Notebook need to be destroyed before the Gtk::Entry.
Destroying the Notebook, destroys every Tab one by one, which
triggers a SessionDialog::tab_page_switched callback.
This in turn calls SessionDialog::new_name_changed which
requires the `new_name_entry` to still be allocated.
Mostly this is to make sure that we never include marks earlier than @param lower.
The sample->timecode conversion common to all rule scales is now moved outside
of the switch block, and an unnecessary floor() call was removed.
Mostly this is to make sure that we never include marks earlier than @param lower.
The sample->timecode conversion common to all rule scales is now moved outside
of the switch block, and an unnecessary floor() call was removed.
Labels have a min. height, which caused the ruler header to
be cut off or bleed into the track header.
The expandable parts of the table need to have a min. height of 0.
It seems that a `Glib::ConvertError` is thrown, and then the
function that catches the error causes another ConvertError in
`err.what()` (which presumably include the filename that
causes the error).
relevant part of the backtrace (macOS Crashdump):
```
Glib::ConvertError::throw_func(_GError*) + 56
Glib::Error::throw_exception(_GError*) + 292
Glib::operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, Glib::ustring const&) + 131
StringPrivate::Composition& StringPrivate::Composition::arg<Glib::ustring>(Glib::ustring const&) + 25
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > string_compose<Glib::ustring> (...) + 81
PBD::run_functor_for_paths(...) + 1313
```