From: Abdelrazak Younes Date: Tue, 4 Mar 2008 14:18:34 +0000 (+0000) Subject: Found a cleaner solution for the buffer reference problem in mathed. X-Git-Tag: 1.6.10~5897 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=ed5350bae702c6a983b0ad23609ae9a59fc6388f;p=features.git Found a cleaner solution for the buffer reference problem in mathed. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23445 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/Buffer.cpp b/src/Buffer.cpp index 01c580281e..cf8d6a0124 100644 --- a/src/Buffer.cpp +++ b/src/Buffer.cpp @@ -696,13 +696,6 @@ bool Buffer::readFile(FileName const & filename) if (readFile(lex, fname) != success) return false; - // FIXME: there are insets that don't set the buffer reference - // (InsetMathHull at least) so wet explicitely set the buffer in all insets. - InsetIterator it = inset_iterator_begin(inset()); - InsetIterator end = inset_iterator_end(inset()); - for (; it != end; ++it) - it->setBuffer(*this); - return true; } diff --git a/src/mathed/InsetMathHull.cpp b/src/mathed/InsetMathHull.cpp index 0d3bdb4ff7..c626c86cc8 100644 --- a/src/mathed/InsetMathHull.cpp +++ b/src/mathed/InsetMathHull.cpp @@ -210,6 +210,12 @@ InsetMathHull & InsetMathHull::operator=(InsetMathHull const & other) 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);