I suspect this is an underlying cause of several tricky to reproduce bugs, but
we'll have to wait around and see...
MidiSource::drop_model ()
{
_model.reset();
+ invalidate();
ModelChanged (); /* EMIT SIGNAL */
}
MidiSource::set_model (boost::shared_ptr<MidiModel> m)
{
_model = m;
+ invalidate();
ModelChanged (); /* EMIT SIGNAL */
}
_model->clear();
}
+ invalidate();
+
if (writable() && !_open) {
return;
}
{
//cerr << _name << " destroying model " << _model.get() << endl;
_model.reset();
+ invalidate();
}
void
_model.reset ();
mm->sync_to_source ();
_model = mm;
+ invalidate();
} else {
/* No model; if it's not already open, it's an empty source, so create
and open it for writing.