commit 279e656d6a7c4ee3647752cba8b9aa7d6ec6e0c2
Author: Juergen Spitzmueller <[email protected]>
Date: Mon Dec 31 09:43:39 2018 +0100
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 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/src/Buffer.cpp b/src/Buffer.cpp
index 6be7d0e..35418a4 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;