]> git.lyx.org Git - lyx.git/blobdiff - src/Buffer.h
Revert "Attempt to fix bug 9158 using updateBuffer."
[lyx.git] / src / Buffer.h
index 048c875404c253d8c240b5b63defc4227642ed95..a68ad046cf343d7c46951d05da92561d29a8335e 100644 (file)
@@ -493,13 +493,25 @@ public:
        */
        void validate(LaTeXFeatures &) const;
 
-       /// Bibliography information is cached in the Buffer, so we do not
+       /// Reference information is cached in the Buffer, so we do not
        /// have to check or read things over and over.
-       /// The cache exists only in the master buffer. When it is updated,
+       ///
+       /// There are two caches.
+       ///
+       /// One is a cache of the BibTeX files from which reference info is
+       /// being gathered. This cache is PER BUFFER, and the cache for the
+       /// master essentially includes the cache for its children. This gets
+       /// invalidated when an InsetBibtex is created, deleted, or modified.
+       ///
+       /// The other is a cache of the reference information itself. This
+       /// exists only in the master buffer, and when it needs to be updated,
        /// the children add their information to the master's cache.
+
        /// Calling this method invalidates the cache and so requires a
        /// re-read.
        void invalidateBibinfoCache() const;
+       /// This invalidates the cache of files we need to check.
+       void invalidateBibfileCache() const;
        /// Updates the cached bibliography information, checking first to see
        /// whether the cache is valid. If so, we do nothing. If not, then we
        /// reload all the BibTeX info.
@@ -767,8 +779,6 @@ public:
        void setChangesPresent(bool) const;
        bool areChangesPresent() const;
        void updateChangesPresent() const;
-       ///
-       void registerBibfiles(support::FileNamePairList const & bf) const;
 
 private:
        friend class MarkAsExporting;
@@ -785,10 +795,13 @@ private:
        /// last time we loaded the cache. Note that this does NOT update the
        /// cached information.
        void checkIfBibInfoCacheIsValid() const;
+       /// Update the list of all bibfiles in use (including bibfiles
+       /// of loaded child documents).
+       void updateBibfilesCache(UpdateScope scope = UpdateMaster) const;
        /// Return the list with all bibfiles in use (including bibfiles
        /// of loaded child documents).
        support::FileNamePairList const &
-               getBibfiles(UpdateScope scope = UpdateMaster) const;
+               getBibfilesCache(UpdateScope scope = UpdateMaster) const;
        ///
        void collectChildren(ListOfBuffers & children, bool grand_children) const;