X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fcontrol_point.cc;h=bc7301dc1cdeffa3d40d09a4d74a1c6f0b00780f;hb=8de005efd58ac0733ce127d3a3bbaf969a62f2a6;hp=7632642adc32ce80be91e7ff1bf04116c48a86c9;hpb=efe60474d6447fa710db5dd863f3058e3ab2e511;p=ardour.git diff --git a/gtk2_ardour/control_point.cc b/gtk2_ardour/control_point.cc index 7632642adc..bc7301dc1c 100644 --- a/gtk2_ardour/control_point.cc +++ b/gtk2_ardour/control_point.cc @@ -118,6 +118,14 @@ ControlPoint::visible () const 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);