OSC do not recalc select if still valid
This commit is contained in:
parent
3a6d7ba321
commit
293326cd94
@ -4437,17 +4437,23 @@ OSC::_strip_select (boost::shared_ptr<Stripable> s, lo_address addr)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
OSCSurface *sur = get_surface(addr, true);
|
OSCSurface *sur = get_surface(addr, true);
|
||||||
boost::shared_ptr<Stripable> old_sel = sur->select;
|
boost::weak_ptr<Stripable> o_sel = sur->select;
|
||||||
|
boost::shared_ptr<Stripable> old_sel= o_sel.lock ();
|
||||||
|
|
||||||
if (!s) {
|
if (!s) {
|
||||||
// expand doesn't point to a stripable, turn it off and use select
|
// we got a null strip check that old strip is valid
|
||||||
sur->expand = 0;
|
if (old_sel && sur->expand_enable) {
|
||||||
sur->expand_enable = false;
|
s = old_sel;
|
||||||
if (ControlProtocol::first_selected_stripable()) {
|
|
||||||
s = ControlProtocol::first_selected_stripable();
|
|
||||||
} else {
|
} else {
|
||||||
s = session->master_out ();
|
sur->expand = 0;
|
||||||
}
|
sur->expand_enable = false;
|
||||||
|
if (ControlProtocol::first_selected_stripable()) {
|
||||||
|
s = ControlProtocol::first_selected_stripable();
|
||||||
|
} else {
|
||||||
|
s = session->master_out ();
|
||||||
|
}
|
||||||
_select = s;
|
_select = s;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (s != old_sel) {
|
if (s != old_sel) {
|
||||||
sur->select = s;
|
sur->select = s;
|
||||||
|
Loading…
Reference in New Issue
Block a user