From 476fce263ae99f4364d42aa5ab09b56108cfaf4c Mon Sep 17 00:00:00 2001 From: Tommaso Cucinotta Date: Mon, 24 Aug 2009 11:41:58 +0000 Subject: [PATCH] This fix suppresses the "BROKEN:" tag on references to labels, when the reference is within an "internal" buffer, i.e., associated to an Embedded WorkArea (such as the Advanced Find&Replace Find... or Replace with... boxes). git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31219 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/insets/InsetRef.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) 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;