As "data" is a static variable, shouldn't this function return a reference?
Angus vector<string> const ControlGraphics::getUnits() { static vector<string> data; if (!data.empty()) return data; data.resize(bb_size); for (lyx::size_type i = 0; i < bb_size; ++i) { data[i] = bb_units[i]; } return data; }