13
0

OSC do not recalc select if still valid

This commit is contained in:
Len Ovens 2018-04-07 10:42:11 -07:00
parent 3a6d7ba321
commit 293326cd94

View File

@ -4437,9 +4437,14 @@ OSC::_strip_select (boost::shared_ptr<Stripable> s, lo_address addr)
return -1;
}
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) {
// expand doesn't point to a stripable, turn it off and use select
// we got a null strip check that old strip is valid
if (old_sel && sur->expand_enable) {
s = old_sel;
} else {
sur->expand = 0;
sur->expand_enable = false;
if (ControlProtocol::first_selected_stripable()) {
@ -4449,6 +4454,7 @@ OSC::_strip_select (boost::shared_ptr<Stripable> s, lo_address addr)
}
_select = s;
}
}
if (s != old_sel) {
sur->select = s;
if (sur->custom_mode >= GroupOnly) {