]> git.lyx.org Git - lyx.git/blobdiff - src/Text2.cpp
Paragraph::inInset() shall not be used if the owner inset was not initialized. Make...
[lyx.git] / src / Text2.cpp
index 0386ae764f05a475413f323d7e34fb59d921c74f..65c08044c2160156ffdaabadfa3b7b3e77ba8266 100644 (file)
@@ -84,7 +84,14 @@ FontInfo Text::layoutFont(Buffer const & buffer, pit_type const pit) const
                // In case the default family has been customized
                if (layout.font.family() == INHERIT_FAMILY)
                        lf.setFamily(buffer.params().getFont().fontInfo().family());
-               InsetCollapsable const * icp = pars_[pit].inInset()->asInsetCollapsable();
+               // FIXME
+               // It ought to be possible here just to use Inset::getLayout() and skip
+               // the asInsetCollapsable() bit. Unfortunatley, that doesn't work right
+               // now, because Inset::getLayout() will return a default-constructed
+               // InsetLayout, and that e.g. sets the foreground color to red. So we
+               // need to do some work to make that possible.
+               Inset const * inset = pars_[pit].inInset();
+               InsetCollapsable const * icp = inset? inset->asInsetCollapsable() : 0;
                if (!icp)
                        return lf;
                FontInfo icf = icp->getLayout().font();
@@ -111,7 +118,9 @@ FontInfo Text::labelFont(Buffer const & buffer, Paragraph const & par) const
                // In case the default family has been customized
                if (layout.labelfont.family() == INHERIT_FAMILY)
                        lf.setFamily(buffer.params().getFont().fontInfo().family());
-               InsetCollapsable const * icp = par.inInset()->asInsetCollapsable();
+               // FIXME As above....
+               Inset const * inset = par.inInset();
+               InsetCollapsable const * icp = inset? inset->asInsetCollapsable() : 0;
                if (!icp)
                        return lf;
                FontInfo icf = icp->getLayout().labelfont();