X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Ffactory.C;h=8d3b9b6ac10bcf0ceea4373ab80158f84bb22268;hb=c688967bc365872241697371e7bd12e2b5217028;hp=727939de48b7877834502a7c2ab17ba9234d64d4;hpb=5198e1d9a383d60f915092f17661f98f59998ed0;p=lyx.git diff --git a/src/factory.C b/src/factory.C index 727939de48..8d3b9b6ac1 100644 --- a/src/factory.C +++ b/src/factory.C @@ -53,7 +53,7 @@ #include "insets/insetvspace.h" #include "insets/insetwrap.h" -#include "mathed/formulamacro.h" +#include "mathed/math_macrotemplate.h" #include "mathed/math_hullinset.h" #include "frontends/Dialogs.h" @@ -185,7 +185,6 @@ InsetBase * createInset(BufferView * bv, FuncRequest const & cmd) UpdatableInset * up = bv->cursor().inset().asUpdatableInset(); if (!up) { auto_ptr inset(new InsetCaption(params)); - inset->setOwner(up); inset->setAutoBreakRows(true); inset->setDrawFrame(InsetText::LOCKED); inset->setFrameColor(LColor::captionframe); @@ -342,7 +341,7 @@ InsetBase * readInset(LyXLex & lex, Buffer const & buf) auto_ptr inset; LyXTextClass tclass = buf.params().getLyXTextClass(); - + lex.next(); string tmptok = lex.getString(); @@ -404,7 +403,7 @@ InsetBase * readInset(LyXLex & lex, Buffer const & buf) } else if (tmptok == "External") { inset.reset(new InsetExternal); } else if (tmptok == "FormulaMacro") { - inset.reset(new InsetFormulaMacro); + inset.reset(new MathMacroTemplate); } else if (tmptok == "Formula") { inset.reset(new MathHullInset); } else if (tmptok == "Graphics") { @@ -470,6 +469,17 @@ InsetBase * readInset(LyXLex & lex, Buffer const & buf) } inset->read(buf, lex); + +#ifdef WITH_WARNINGS +#warning hack.. +#endif + if (inset->lyxCode() == InsetBase::MATHMACRO_CODE) { + MathMacroTemplate const * tmpl = + static_cast(inset.get()); + MacroTable::globalMacros().insert + (tmpl->name(), tmpl->asMacroData()); + lyxerr << "creating local macro " << tmpl->name() << endl; + } } return inset.release();