mirror of
https://git.lyx.org/repos/lyx.git
synced 2025-01-09 10:47:57 +00:00
Fix bugs in minipage compatibility read (fix #240).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3681 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
dff5ba1d99
commit
ff8f704031
@ -1,3 +1,13 @@
|
|||||||
|
2002-03-06 Juergen Vigna <jug@sad.it>
|
||||||
|
|
||||||
|
* buffer.C (parseSingleLyXformat2Token): changed "%" to "p%" as
|
||||||
|
otherwise it would not be a valid lenght. Fixed a special case in
|
||||||
|
the minipage compatibility read where we end the document with a
|
||||||
|
minipage.
|
||||||
|
|
||||||
|
* text2.C (deleteEmptyParagraphMechanism): check if old_cursor.par()
|
||||||
|
was set as it could be 0 for InsetTexts first entry.
|
||||||
|
|
||||||
2002-03-06 Lars Gullik Bjønnes <larsbj@birdstep.com>
|
2002-03-06 Lars Gullik Bjønnes <larsbj@birdstep.com>
|
||||||
|
|
||||||
* paragraph.C (writeFile): if layout is empty write out
|
* paragraph.C (writeFile): if layout is empty write out
|
||||||
|
21
src/buffer.C
21
src/buffer.C
@ -433,7 +433,7 @@ Buffer::parseSingleLyXformat2Token(LyXLex & lex, Paragraph *& par,
|
|||||||
static int call_depth;
|
static int call_depth;
|
||||||
++call_depth;
|
++call_depth;
|
||||||
bool checkminipage = false;
|
bool checkminipage = false;
|
||||||
static Paragraph * minipar;
|
static Paragraph * minipar = 0;
|
||||||
static Paragraph * parBeforeMinipage;
|
static Paragraph * parBeforeMinipage;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
@ -1172,6 +1172,8 @@ Buffer::parseSingleLyXformat2Token(LyXLex & lex, Paragraph *& par,
|
|||||||
the_end_read = true;
|
the_end_read = true;
|
||||||
#ifndef NO_COMPABILITY
|
#ifndef NO_COMPABILITY
|
||||||
#ifndef NO_PEXTRA_REALLY
|
#ifndef NO_PEXTRA_REALLY
|
||||||
|
if (minipar == par)
|
||||||
|
par = 0;
|
||||||
minipar = parBeforeMinipage = 0;
|
minipar = parBeforeMinipage = 0;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
@ -1228,7 +1230,8 @@ Buffer::parseSingleLyXformat2Token(LyXLex & lex, Paragraph *& par,
|
|||||||
if (checkminipage && (call_depth == 1)) {
|
if (checkminipage && (call_depth == 1)) {
|
||||||
checkminipage = false;
|
checkminipage = false;
|
||||||
if (minipar && (minipar != par) &&
|
if (minipar && (minipar != par) &&
|
||||||
(par->params().pextraType() == Paragraph::PEXTRA_MINIPAGE)) {
|
(par->params().pextraType() == Paragraph::PEXTRA_MINIPAGE))
|
||||||
|
{
|
||||||
lyxerr << "minipages in a row" << endl;
|
lyxerr << "minipages in a row" << endl;
|
||||||
if (par->params().pextraStartMinipage()) {
|
if (par->params().pextraStartMinipage()) {
|
||||||
lyxerr << "start new minipage" << endl;
|
lyxerr << "start new minipage" << endl;
|
||||||
@ -1264,7 +1267,7 @@ Buffer::parseSingleLyXformat2Token(LyXLex & lex, Paragraph *& par,
|
|||||||
mini->pageWidth(LyXLength(par->params().pextraWidth()));
|
mini->pageWidth(LyXLength(par->params().pextraWidth()));
|
||||||
if (!par->params().pextraWidthp().empty()) {
|
if (!par->params().pextraWidthp().empty()) {
|
||||||
lyxerr << "WP:" << mini->pageWidth().asString() << endl;
|
lyxerr << "WP:" << mini->pageWidth().asString() << endl;
|
||||||
mini->pageWidth(LyXLength((par->params().pextraWidthp())+"%"));
|
mini->pageWidth(LyXLength((par->params().pextraWidthp())+"p%"));
|
||||||
}
|
}
|
||||||
Paragraph * op = mini->firstParagraph();
|
Paragraph * op = mini->firstParagraph();
|
||||||
mini->inset.paragraph(par);
|
mini->inset.paragraph(par);
|
||||||
@ -1345,9 +1348,19 @@ Buffer::parseSingleLyXformat2Token(LyXLex & lex, Paragraph *& par,
|
|||||||
mini->pageWidth(LyXLength(minipar->params().pextraWidth()));
|
mini->pageWidth(LyXLength(minipar->params().pextraWidth()));
|
||||||
if (!par->params().pextraWidthp().empty()) {
|
if (!par->params().pextraWidthp().empty()) {
|
||||||
lyxerr << "WP:" << mini->pageWidth().asString() << endl;
|
lyxerr << "WP:" << mini->pageWidth().asString() << endl;
|
||||||
mini->pageWidth(LyXLength((par->params().pextraWidthp())+"%"));
|
mini->pageWidth(LyXLength((par->params().pextraWidthp())+"p%"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Paragraph * op = mini->firstParagraph();
|
||||||
mini->inset.paragraph(minipar);
|
mini->inset.paragraph(minipar);
|
||||||
|
//
|
||||||
|
// and free the old ones!
|
||||||
|
//
|
||||||
|
while(op) {
|
||||||
|
Paragraph * pp = op->next();
|
||||||
|
delete op;
|
||||||
|
op = pp;
|
||||||
|
}
|
||||||
|
|
||||||
// Insert the minipage last in the
|
// Insert the minipage last in the
|
||||||
// previous paragraph.
|
// previous paragraph.
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
2002-03-06 Juergen Vigna <jug@sad.it>
|
2002-03-06 Juergen Vigna <jug@sad.it>
|
||||||
|
|
||||||
* insettext.C (draw): fixed frame redrawing.
|
* insettext.C (draw): fixed frame redrawing.
|
||||||
|
(clear): forgot to set the inset_owner of the paragraph.
|
||||||
|
|
||||||
* insetert.C (status): pay attention the bv can be 0 here!
|
* insetert.C (status): pay attention the bv can be 0 here!
|
||||||
(getMaxWidth): add the default leftMargin
|
(getMaxWidth): add the default leftMargin
|
||||||
|
@ -676,7 +676,7 @@ void InsetERT::close(BufferView * bv) const
|
|||||||
|
|
||||||
|
|
||||||
string const InsetERT::selectNextWordToSpellcheck(BufferView * bv,
|
string const InsetERT::selectNextWordToSpellcheck(BufferView * bv,
|
||||||
float &) const
|
float &) const
|
||||||
{
|
{
|
||||||
bv->unlockInset(const_cast<InsetERT *>(this));
|
bv->unlockInset(const_cast<InsetERT *>(this));
|
||||||
return string();
|
return string();
|
||||||
|
@ -227,6 +227,7 @@ void InsetText::clear()
|
|||||||
par = tmp;
|
par = tmp;
|
||||||
}
|
}
|
||||||
par = new Paragraph;
|
par = new Paragraph;
|
||||||
|
par->setInsetOwner(this);
|
||||||
par->layout(old_layout);
|
par->layout(old_layout);
|
||||||
|
|
||||||
reinitLyXText();
|
reinitLyXText();
|
||||||
@ -2137,12 +2138,13 @@ Row * InsetText::crow(BufferView * bv) const
|
|||||||
LyXText * InsetText::getLyXText(BufferView const * lbv,
|
LyXText * InsetText::getLyXText(BufferView const * lbv,
|
||||||
bool const recursive) const
|
bool const recursive) const
|
||||||
{
|
{
|
||||||
if (!recursive && (cached_bview == lbv)) {
|
if (cached_bview == lbv) {
|
||||||
|
if (recursive && the_locking_inset)
|
||||||
|
return the_locking_inset->getLyXText(lbv, true);
|
||||||
LyXText * lt = cached_text.get();
|
LyXText * lt = cached_text.get();
|
||||||
lyx::Assert(lt && lt->firstRow()->par() == par);
|
lyx::Assert(lt && lt->firstRow()->par() == par);
|
||||||
return lt;
|
return lt;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Super UGLY! (Lgb)
|
// Super UGLY! (Lgb)
|
||||||
BufferView * bv = const_cast<BufferView *>(lbv);
|
BufferView * bv = const_cast<BufferView *>(lbv);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user