Fix more possible crashes due to asInsetRef()

InsetMathHull has no method asInsetRef() and returns therefore 0.

See also 447e0d03.
This commit is contained in:
Vincent van Ravesteijn 2012-03-23 21:15:55 +01:00
parent 447e0d0308
commit e409eedc5b

View File

@ -256,13 +256,13 @@ pasteSelectionHelper(Cursor const & cur, ParagraphList const & parlist,
if (ref->getParam("reference") == oldname)
ref->setParam("reference", newname);
} else if (itt->lyxCode() == MATH_REF_CODE) {
InsetMathHull * mi = itt->asInsetMath()->asHullInset();
InsetMathRef * mi = itt->asInsetMath()->asRefInset();
// this is necessary to prevent an uninitialized
// buffer when the RefInset is in a MathBox.
// FIXME audit setBuffer calls
mi->setBuffer(const_cast<Buffer &>(buffer));
if (mi->asRefInset()->getTarget() == oldname)
mi->asRefInset()->changeTarget(newname);
if (mi->getTarget() == oldname)
mi->changeTarget(newname);
}
}
}
@ -286,14 +286,13 @@ pasteSelectionHelper(Cursor const & cur, ParagraphList const & parlist,
if (ref.getParam("reference") == oldname)
ref.setParam("reference", newname);
} else if (itt->lyxCode() == MATH_REF_CODE) {
InsetMathHull & mi =
static_cast<InsetMathHull &>(*itt);
InsetMathRef * mi = itt->asInsetMath()->asRefInset();
// this is necessary to prevent an uninitialized
// buffer when the RefInset is in a MathBox.
// FIXME audit setBuffer calls
mi.setBuffer(const_cast<Buffer &>(buffer));
if (mi.asRefInset()->getTarget() == oldname)
mi.asRefInset()->changeTarget(newname);
mi->setBuffer(const_cast<Buffer &>(buffer));
if (mi->getTarget() == oldname)
mi->changeTarget(newname);
}
}
break;