InsetMathHull::~InsetMathHull()
{
- for (size_t i = 0; i < label_.size(); ++i) {
- if (label_[i])
- delete label_[i];
- }
+ for (size_t i = 0; i < label_.size(); ++i)
+ delete label_[i];
}
InsetMathGrid::operator=(other);
type_ = other.type_;
nonum_ = other.nonum_;
- for (size_t i = 0; i < label_.size(); ++i) {
- if (label_[i])
- delete label_[i];
- }
+ for (size_t i = 0; i < label_.size(); ++i)
+ delete label_[i];
label_ = other.label_;
for (size_t i = 0; i != label_.size(); ++i) {
if (label_[i])
void InsetMathHull::setBuffer(Buffer & buffer)
{
buffer_ = &buffer;
+ for (idx_type i = 0, n = nargs(); i != n; ++i) {
+ MathData & data = cell(i);
+ for (size_t j = 0; j != data.size(); ++j)
+ data[j].nucleus()->setBuffer(buffer);
+ }
+
for (size_t i = 0; i != label_.size(); ++i) {
if (label_[i])
label_[i]->setBuffer(buffer);
return;
if (row + 1 == nrows())
--row;
- swap(nonum_[row], nonum_[row + 1]);
+ // gcc doesn't like this:
+ // swap(nonum_[row], nonum_[row + 1]);
+ // so we do it manually:
+ bool const b = nonum_[row];
+ nonum_[row] = nonum_[row + 1];
+ nonum_[row + 1] = b;
swap(label_[row], label_[row + 1]);
InsetMathGrid::swapRow(row);
}
if (row == nrows() + 1)
row--;
nonum_.erase(nonum_.begin() + row);
- if (label_[row])
- delete label_[row];
+ delete label_[row];
label_.erase(label_.begin() + row);
}