if (insertion[i].isNewline(j)) {
// do not track deletion of newline
insertion[i].eraseChar(j, false);
+ insertion[i].setInsetOwner(target_inset);
breakParagraphConservative(
buffer.params(),
insertion, i, j);
Paragraph * owner_;
/// In which Inset?
- Inset * inset_owner_;
+ Inset const * inset_owner_;
///
FontList fontlist_;
bool Paragraph::forcePlainLayout() const
{
- Inset const * const inset = inInset();
- if (!inset)
- return true;
- return inset->forcePlainLayout();
+ return inInset().forcePlainLayout();
}
bool Paragraph::allowParagraphCustomization() const
{
- Inset const * const inset = inInset();
- if (!inset)
- return true;
- return inset->allowParagraphCustomization();
+ return inInset().allowParagraphCustomization();
}
bool Paragraph::usePlainLayout() const
{
- Inset const * const inset = inInset();
- if (!inset)
- return false;
- return inset->usePlainLayout();
+ return inInset().usePlainLayout();
}
}
-void Paragraph::setInsetOwner(Inset * inset)
+void Paragraph::setInsetOwner(Inset const * inset)
{
d->inset_owner_ = inset;
}
}
-Inset * Paragraph::inInset() const
+Inset const & Paragraph::inInset() const
{
- return d->inset_owner_;
+ LASSERT(d->inset_owner_, exit(10));
+ return *d->inset_owner_;
}
void makeSameLayout(Paragraph const & par);
///
- void setInsetOwner(Inset * inset);
+ void setInsetOwner(Inset const * inset);
///
- Inset * inInset() const;
+ Inset const & inInset() const;
///
InsetCode ownerCode() const;
///
// or we've moved from one inset to another
DocumentClass const * text_class = &buffer->params().documentClass();
Inset const * inset =
- owner_.view()->cursor().innerParagraph().inInset();
+ &(owner_.view()->cursor().innerParagraph().inInset());
if (!reset && text_class_ == text_class && inset_ == inset) {
set(owner_.view()->cursor().innerParagraph().layout().name());
return;
LASSERT(paragraphs().empty(), /**/);
paragraphs().push_back(Paragraph());
Paragraph & ourpar = paragraphs().back();
- ourpar.setPlainOrDefaultLayout(bparams.documentClass());
ourpar.setInsetOwner(this);
+ ourpar.setPlainOrDefaultLayout(bparams.documentClass());
}
tmpInset = fromPar.releaseInset(fromPos);
}
- Inset * inset = toPar.inInset();
- if (inset && !inset->insetAllowed(tmpInset->lyxCode())) {
+ if (!toPar.inInset().insetAllowed(tmpInset->lyxCode())) {
delete tmpInset;
return false;
}
Paragraph & par = pars[par_offset];
// remember to set the inset_owner
- tmp->setInsetOwner(par.inInset());
+ tmp->setInsetOwner(&par.inInset());
// without doing that we get a crash when typing <Return> at the
// end of a paragraph
tmp->setPlainOrDefaultLayout(bparams.documentClass());
Paragraph());
Paragraph & par = pars[par_offset];
+ tmp.setInsetOwner(&par.inInset());
tmp.makeSameLayout(par);
- tmp.setInsetOwner(par.inInset());
LASSERT(pos <= par.size(), /**/);