13
0
livetrax/libs
Robin Gareus 3da07e6736
Special case Lua copy-construction of trackable instances
This fixes an crashing issue with ArdourUI.SelectionList a bug
introduced in 6dc3bdf252 and 35dcd46d7d.

Since removal of the special cases in 35dcd46d7d, when using
a C-pointer in a std::list<>,
  std::list<class*>::push_back(TypeListValue)
TypeListValues<>'s Head was expanded to  "class*& const"
implied by void ::push_back(const T& value);

This resulted in lifetime issues with a classes that derive
from sigc::trackable (e.g. Ardour's Selection).
The reference leaves scope and isn't duplicated when it is pushed back
to the std::list<>.

The script scripts/select_every_2nd_region.lua crashed because entries
in the SelectionList were no longer valid.

Previously (before 6dc3bdf252) TypeListValues explicitly
copy-constructed the value to work around the lifetime issue.
This new solution bypasses the issue by directly using the c-pointer
without dereferencing it.
2019-04-12 05:45:27 +02:00
..
appleutility
ardour Cleanup: Simplify conditionals 2019-04-10 10:24:33 +02:00
ardouralsautil Use PBD::to_string() from pbd/string_convert.h in ardour ALSA utils 2017-04-19 09:37:00 +10:00
audiographer Add/remove source(s) in our MSVC project (audiographer) 2019-03-04 12:16:47 +00:00
backends Undo more incorrect sample/frame replacements 2019-04-08 04:10:04 +02:00
canvas Undo more incorrect sample/frame replacements 2019-04-08 04:10:04 +02:00
clearlooks-newer Undo incorrect sample/frame replacements in clearlooks 2019-04-08 04:10:12 +02:00
evoral Remove cruft: unused typedef 2019-04-09 02:23:17 +02:00
fluidsynth Update Fluidsynth to v2.0.4 2019-02-23 18:41:05 +01:00
fst remove use of hardcoded -fPIC compiler flag, and use compiler flag dict instead 2018-10-14 22:06:11 -04:00
gtkmm2ext NO-OP: whitespace 2019-04-11 02:32:45 +02:00
hidapi remove use of hardcoded -fPIC compiler flag, and use compiler flag dict instead 2018-10-14 22:06:11 -04:00
libltc remove use of hardcoded -fPIC compiler flag, and use compiler flag dict instead 2018-10-14 22:06:11 -04:00
lua Special case Lua copy-construction of trackable instances 2019-04-12 05:45:27 +02:00
midi++2 Undo yet more frame/sample replacements 2019-04-08 18:32:09 +02:00
panners Adapt our remaining MSVC projects for 'boost::atomic' (in case it later gets extended to the other libs) 2018-09-30 09:06:25 +01:00
pbd NO-OP: whitespace & revert samples -> [stack]frames 2019-04-08 00:35:00 +02:00
plugins Undo more incorrect sample/frame replacements 2019-04-08 04:10:04 +02:00
ptformat ptformat: Update to 877fa28 - more endian resilient && pt5 fixes 2018-12-16 15:08:23 +11:00
qm-dsp remove use of hardcoded -fPIC compiler flag, and use compiler flag dict instead 2018-10-14 22:06:11 -04:00
surfaces Indicate automation-latch as "touch" on the CC121 2019-04-08 02:05:36 +02:00
temporal remove use of hardcoded -fPIC compiler flag, and use compiler flag dict instead 2018-10-14 22:06:11 -04:00
vamp-plugins Adapt our remaining MSVC projects for 'boost::atomic' (in case it later gets extended to the other libs) 2018-09-30 09:19:28 +01:00
vfork
waveview remove use of hardcoded -fPIC compiler flag, and use compiler flag dict instead 2018-10-14 22:06:11 -04:00
widgets Use weak-pointer for Controllable learning 2019-03-23 01:50:45 +01:00
zita-convolver Allow compilation with winpthreads -- closes #7691 2018-11-25 16:51:24 +01:00
zita-resampler remove use of hardcoded -fPIC compiler flag, and use compiler flag dict instead 2018-10-14 22:06:11 -04:00