diff options
author | nick_m <mainsbridge@gmail.com> | 2016-04-09 03:21:13 +1000 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2016-05-27 23:38:14 +1000 |
commit | 618a391346763603ef8e1d77f17a7fb6a6538772 (patch) | |
tree | 3bfd1563fd5bb6e763f19c32016fafba9ac7ebc3 /gtk2_ardour/editor_ops.cc | |
parent | ec29f5d64cd59f27f2953cb3363c2bb9c4a21eb2 (diff) |
Preformance - reinstate EditorRegions::freeze_tree_model ().
Diffstat (limited to 'gtk2_ardour/editor_ops.cc')
-rw-r--r-- | gtk2_ardour/editor_ops.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index b8e308c57e..960b7b3123 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -153,6 +153,8 @@ Editor::redo (uint32_t n) void Editor::split_regions_at (framepos_t where, RegionSelection& regions) { + bool frozen = false; + RegionSelection pre_selected_regions = selection->regions; bool working_on_selection = !pre_selected_regions.empty(); @@ -180,6 +182,8 @@ Editor::split_regions_at (framepos_t where, RegionSelection& regions) } else { snap_to (where); + frozen = true; + EditorFreeze(); /* Emit Signal */ } for (RegionSelection::iterator a = regions.begin(); a != regions.end(); ) { @@ -247,6 +251,10 @@ Editor::split_regions_at (framepos_t where, RegionSelection& regions) (*c).disconnect (); } + if (frozen){ + EditorThaw(); /* Emit Signal */ + } + if (working_on_selection) { // IFF we were working on selected regions, try to reinstate the other region selections that existed before the freeze/thaw. |