do not short-circuit CueEditor::set_region() if used with the current region

This stops us from failing to calling unset(), which was resulting in a pianoroll
being over-connected to a region's property change signal.

Also, EC_LOCAL_TEMPO_SCOPE is inappropriate in a method that will
call set_local_tempo_map()
This commit is contained in:
Paul Davis 2025-08-24 16:28:56 -06:00
parent ab588efd8c
commit 01000ab6c9

View file

@ -1199,12 +1199,6 @@ CueEditor::set_track (std::shared_ptr<Track> t)
void
CueEditor::set_region (std::shared_ptr<Region> r)
{
EC_LOCAL_TEMPO_SCOPE;
if (r == _region) {
return;
}
unset (false);
_region = r;
@ -1456,8 +1450,6 @@ CueEditor::idle_data_captured ()
void
CueEditor::unset (bool trigger_too)
{
EC_LOCAL_TEMPO_SCOPE;
if (_local_tempo_map) {
end_local_tempo_map ();
}
@ -1465,6 +1457,7 @@ CueEditor::unset (bool trigger_too)
history_connection.disconnect();
_update_connection.disconnect();
object_connections.drop_connections ();
std::cerr << "CE:unset, oc now " << object_connections.size() << std::endl;
rec_blink_connection.disconnect ();
count_in_connection.disconnect ();
capture_connections.drop_connections ();