diff --git a/src/insets/InsetRef.cpp b/src/insets/InsetRef.cpp index afc123ee77..3683905a1b 100644 --- a/src/insets/InsetRef.cpp +++ b/src/insets/InsetRef.cpp @@ -25,6 +25,7 @@ #include "support/docstream.h" #include "support/gettext.h" #include "support/lstrings.h" +#include "support/FileName.h" using namespace lyx::support; using namespace std; @@ -142,9 +143,19 @@ void InsetRef::updateLabels(ParIterator const & it) } +/** \note + ** If inset belongs to an Embedded WorkArea's Buffer, ref is likely + ** to point to some documentBuffer's label. Don't know how to + ** retrieve the corresponding documentBuffer (so as to check if the + ** label exists or not), so the "BROKEN:" indication is disabled in + ** Embedded WorkArea(s). + **/ void InsetRef::addToToc(DocIterator const & cpit) { docstring const & label = getParam("reference"); + if (buffer().fileName().extension() == "internal") + return; + if (buffer().insetLabel(label)) // This InsetRef has already been taken care of in InsetLabel::addToToc(). return;