mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-23 02:14:50 +00:00
* Text2.cpp (setParagraphs):
- issue setLabelWidthStringToSequence only once for a selected range of paragraphs of the same layout and depth. This fixes an assertion reported here: http://marc.info/?l=lyx-devel&m=124774758211589 git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30752 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
da2c479003
commit
df0801cf65
@ -443,16 +443,23 @@ void Text::setParagraphs(Cursor & cur, docstring arg, bool merge)
|
|||||||
|
|
||||||
//FIXME UNICODE
|
//FIXME UNICODE
|
||||||
string const argument = to_utf8(arg);
|
string const argument = to_utf8(arg);
|
||||||
|
depth_type priordepth = -1;
|
||||||
|
Layout priorlayout;
|
||||||
for (pit_type pit = cur.selBegin().pit(), end = cur.selEnd().pit();
|
for (pit_type pit = cur.selBegin().pit(), end = cur.selEnd().pit();
|
||||||
pit <= end; ++pit) {
|
pit <= end; ++pit) {
|
||||||
Paragraph & par = pars_[pit];
|
Paragraph & par = pars_[pit];
|
||||||
ParagraphParameters params = par.params();
|
ParagraphParameters params = par.params();
|
||||||
params.read(argument, merge);
|
params.read(argument, merge);
|
||||||
// changes to label width string apply to all
|
// Changes to label width string apply to all paragraphs
|
||||||
// paragraph with same layout in a sequence
|
// with same layout in a sequence.
|
||||||
setLabelWidthStringToSequence(pit, pars_,
|
// Do this only once for a selected range of paragraphs
|
||||||
params.labelWidthString());
|
// of the same layout and depth.
|
||||||
|
if (par.getDepth() != priordepth || par.layout() != priorlayout)
|
||||||
|
setLabelWidthStringToSequence(pit, pars_,
|
||||||
|
params.labelWidthString());
|
||||||
par.params().apply(params, par.layout());
|
par.params().apply(params, par.layout());
|
||||||
|
priordepth = par.getDepth();
|
||||||
|
priorlayout = par.layout();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -467,15 +474,22 @@ void Text::setParagraphs(Cursor & cur, ParagraphParameters const & p)
|
|||||||
pit_type undopit = undoSpan(cur.selEnd().pit());
|
pit_type undopit = undoSpan(cur.selEnd().pit());
|
||||||
recUndo(cur, cur.selBegin().pit(), undopit - 1);
|
recUndo(cur, cur.selBegin().pit(), undopit - 1);
|
||||||
|
|
||||||
|
depth_type priordepth = -1;
|
||||||
|
Layout priorlayout;
|
||||||
for (pit_type pit = cur.selBegin().pit(), end = cur.selEnd().pit();
|
for (pit_type pit = cur.selBegin().pit(), end = cur.selEnd().pit();
|
||||||
pit <= end; ++pit) {
|
pit <= end; ++pit) {
|
||||||
Paragraph & par = pars_[pit];
|
Paragraph & par = pars_[pit];
|
||||||
// changes to label width string apply to all
|
// Changes to label width string apply to all paragraphs
|
||||||
// paragraph with same layout in a sequence
|
// with same layout in a sequence.
|
||||||
setLabelWidthStringToSequence(pit, pars_,
|
// Do this only once for a selected range of paragraphs
|
||||||
par.params().labelWidthString());
|
// of the same layout and depth.
|
||||||
|
if (par.getDepth() != priordepth || par.layout() != priorlayout)
|
||||||
|
setLabelWidthStringToSequence(pit, pars_,
|
||||||
|
par.params().labelWidthString());
|
||||||
par.params().apply(p, par.layout());
|
par.params().apply(p, par.layout());
|
||||||
}
|
priordepth = par.getDepth();
|
||||||
|
priorlayout = par.layout();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user