6a82aa392c6dd0f4057f5ae37095cf1fd4478626
This is an initial work-around for signal emission with Playlist:region_lock held: Playlist::duplicate() takes RegionWriteLock() and then calls RegionFactory::create(). The newly created region does NOT have property-changes suspended, and the RegionFactory can change region-properties which results in signal-emission. This in turn can lead to a call Editor::session_gui_extents() -> ARDOUR::Playlist::get_extent() -> Playlist::RegionReadLock which deadlocks: https://pastebin.com/84rSbsA3 Eventually we need a mechanism to create regions with ->suspend_property_changes() and add it to the playlist's thawlist (pass a thawlist to the region-factory).
Please see the Ardour web site at https://ardour.org/ for all documentation..
For information on building ardour:
https://ardour.org/development.html
Description
Languages
C++
56.5%
C
39.6%
JavaScript
1.3%
Lua
0.9%
Python
0.6%
Other
0.9%