Richard Heck <rgh...@comcast.net> wrote: > Same crash with a footnote there. So it looks > as if for some reason insets inside cells are not > getting their macro context set properly.
which is done in lines 3453-3473 of insettabular.cpp: if (tabular.getAlignment(cell) == LYX_ALIGN_DECIMAL) { // make a copy which we will split in 2 InsetTableCell head = InsetTableCell(*tabular.cellInset(cell).get()); head.getText(0)->setMacrocontextPosition( tabular.cellInset(cell)->getText(0)->macrocontextPosition()); head.setBuffer(tabular.buffer()); // split in 2 and calculate width of each part bool hassep = false; InsetTableCell tail = splitCell(head, tabular.column_info[c].decimal_point, hassep); tail.getText(0)->setMacrocontextPosition( head.getText(0)->macrocontextPosition()); tail.setBuffer(head.buffer()); Dimension dim1; head.metrics(m, dim1); decimal_hoffset = dim1.width(); if (hassep) { tail.metrics(m, dim1); decimal_width = dim1.width(); } }