Hi, The following patch should fix many/most of the buffer missettings in mathed. However, I did not keep trace of the ways to trigger a null buffer assertion with trunk. Could somebody refresh my memory?
JMarc
svndiff Index: src/mathed/InsetMathHull.cpp =================================================================== --- src/mathed/InsetMathHull.cpp (révision 30846) +++ src/mathed/InsetMathHull.cpp (copie de travail) @@ -211,12 +211,7 @@ InsetMathHull & InsetMathHull::operator= 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); - } + InsetMathGrid::setBuffer(buffer); for (size_t i = 0; i != label_.size(); ++i) { if (label_[i]) Index: src/mathed/InsetMathNest.cpp =================================================================== --- src/mathed/InsetMathNest.cpp (révision 30846) +++ src/mathed/InsetMathNest.cpp (copie de travail) @@ -100,6 +100,17 @@ InsetMathNest & InsetMathNest::operator= } +void InsetMathNest::setBuffer(Buffer & buffer) +{ + InsetMath::setBuffer(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); + } +} + + InsetMath::idx_type InsetMathNest::nargs() const { return cells_.size(); Index: src/mathed/InsetMathNest.h =================================================================== --- src/mathed/InsetMathNest.h (révision 30846) +++ src/mathed/InsetMathNest.h (copie de travail) @@ -30,6 +30,8 @@ public: explicit InsetMathNest(idx_type ncells); /// virtual ~InsetMathNest() {} + /// + void setBuffer(Buffer &); /// the size is usually some sort of convex hull of the cells /// hides inset::metrics() intentionally!