From 279e656d6a7c4ee3647752cba8b9aa7d6ec6e0c2 Mon Sep 17 00:00:00 2001 From: Juergen Spitzmueller Date: Mon, 31 Dec 2018 09:43:39 +0100 Subject: [PATCH] Unbreak citing from bibliography environment We need to bail out here early since otherwise the cache is prematurely set to valid even if it is invalid with the bibliography environment. The following checks (for timestamps of bib files) are only targeted at bib(la)tex. The fix is already in master. --- src/Buffer.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/Buffer.cpp b/src/Buffer.cpp index 6be7d0eab3..35418a4537 100644 --- a/src/Buffer.cpp +++ b/src/Buffer.cpp @@ -2472,6 +2472,18 @@ void Buffer::checkIfBibInfoCacheIsValid() const return; } + // If we already know the cache is invalid, stop here. + // This is important in the case when the bibliography + // environment (rather than Bib[la]TeX) is used. + // In that case, the timestamp check below gives no + // sensible result. Rather than that, the cache will + // be invalidated explicitly via invalidateBibInfoCache() + // by the Bibitem inset. + // Same applies for bib encoding changes, which trigger + // invalidateBibInfoCache() by InsetBibtex. + if (!d->bibinfo_cache_valid_) + return; + // we'll assume it's ok and change this if it's not d->bibinfo_cache_valid_ = true; d->cite_labels_valid_ = true; -- 2.39.5