using namespace PBD;
using namespace Gnome; // for Canvas
+PBD::Signal1<void, ControlPoint *> ControlPoint::CatchDeletion;
+
ControlPoint::ControlPoint (AutomationLine& al)
: _line (al)
{
ControlPoint::~ControlPoint ()
{
+ CatchDeletion (this); /* EMIT SIGNAL */
+
delete _item;
}
void
ControlPoint::reset (double x, double y, AutomationList::iterator mi, uint32_t vi, ShapeType shape)
{
+ /* If this is too big, libart will confuse itself and segfault after it casts the bounding box
+ of this automation line to ints. Sigh.
+ */
+
+ if (x > INT32_MAX) {
+ x = INT32_MAX;
+ }
+
_model = mi;
_view_index = vi;
move_to (x, y, shape);