--- ardour-2.0.3/gtk2_ardour/automation_selectable.h.orig 2007-05-10 13:30:27.000000000 +0200 +++ ardour-2.0.3/gtk2_ardour/automation_selectable.h 2007-07-15 00:19:56.345439649 +0200 @@ -31,17 +31,17 @@ struct AutomationSelectable : public Sel nframes_t end; double low_fract; double high_fract; - TimeAxisView& track; + TimeAxisView *track; AutomationSelectable (nframes_t s, nframes_t e, double l, double h, TimeAxisView& atv) - : start (s), end (e), low_fract (l), high_fract (h), track (atv) {} + : start (s), end (e), low_fract (l), high_fract (h), track (&atv) {} bool operator== (const AutomationSelectable& other) { return start == other.start && end == other.end && low_fract == other.low_fract && high_fract == other.high_fract && - &track == &other.track; + track == other.track; } }; --- ardour-2.0.3/gtk2_ardour/automation_time_axis.cc.orig 2007-05-10 13:30:27.000000000 +0200 +++ ardour-2.0.3/gtk2_ardour/automation_time_axis.cc 2007-07-15 00:33:26.261213756 +0200 @@ -554,7 +554,7 @@ AutomationTimeAxisView::reset_objects_on for (PointSelection::iterator i = selection.begin(); i != selection.end(); ++i) { - if (&(*i).track != this) { + if ((*i).track != this) { continue; } @@ -585,7 +585,7 @@ AutomationTimeAxisView::cut_copy_clear_o for (PointSelection::iterator i = selection.begin(); i != selection.end(); ++i) { - if (&(*i).track != this) { + if ((*i).track != this) { continue; } --- ardour-2.0.3/gtk2_ardour/automation_line.cc.orig 2007-05-10 13:30:27.000000000 +0200 +++ ardour-2.0.3/gtk2_ardour/automation_line.cc 2007-07-15 00:36:48.307644484 +0200 @@ -1102,7 +1102,7 @@ AutomationLine::set_selected_points (Poi for (PointSelection::iterator r = points.begin(); r != points.end(); ++r) { - if (&(*r).track != &trackview) { + if ((*r).track != &trackview) { continue; } --- ardour-2.0.3/gtk2_ardour/editor_ops.cc.orig 2007-05-10 13:30:27.000000000 +0200 +++ ardour-2.0.3/gtk2_ardour/editor_ops.cc 2007-07-16 18:04:44.325467660 +0200 @@ -2715,7 +2715,7 @@ Editor::cut_copy_points (CutCopyOp op) { for (PointSelection::iterator i = selection->points.begin(); i != selection->points.end(); ++i) { - AutomationTimeAxisView* atv = dynamic_cast(&(*i).track); + AutomationTimeAxisView* atv = dynamic_cast((*i).track); if (atv) { atv->cut_copy_clear_objects (selection->points, op); @@ -3082,7 +3082,7 @@ Editor::reset_point_selection () for (PointSelection::iterator i = selection->points.begin(); i != selection->points.end(); ++i) { - AutomationTimeAxisView* atv = dynamic_cast(&(*i).track); + AutomationTimeAxisView* atv = dynamic_cast((*i).track); if (atv) { atv->reset_objects (selection->points); --- ardour-2.0.3/gtk2_ardour/imageframe_view.cc.orig 2007-05-10 13:30:27.000000000 +0200 +++ ardour-2.0.3/gtk2_ardour/imageframe_view.cc 2007-07-16 19:37:00.088932841 +0200 @@ -20,6 +20,10 @@ #include #include +extern "C" { +#include +} + #include #include