]> git.lyx.org Git - lyx.git/blobdiff - src/ConverterCache.cpp
DocBook: make all make* functions have the same argument order.
[lyx.git] / src / ConverterCache.cpp
index e384cdc8281a97b2b458b87a785eb409fbe2d1dd..bee02536524e2d13de84a30d9ea25b7f691d7bfe 100644 (file)
@@ -56,8 +56,7 @@ static FileName cache_dir;
 
 class CacheItem {
 public:
-       CacheItem()
-       {}
+       CacheItem() : timestamp(0), checksum(0) {}
        CacheItem(FileName const & orig_from, string const & to_format,
                  time_t t, unsigned long c)
                : timestamp(t), checksum(c)
@@ -77,7 +76,7 @@ public:
        unsigned long checksum;
 };
 
-}
+} // namespace
 
 
 /** The cache contains one item per orig file and target format, so use a
@@ -160,7 +159,11 @@ void ConverterCache::Impl::readIndex()
                FormatCache & format_cache = cache[orig_from_name];
                if (format_cache.from_format.empty())
                        format_cache.from_format =
-                               formats.getFormatFromFile(orig_from_name);
+                               // FIXME perf: This very expensive function is called on all
+                               // cached files on opening. This slows LyX startup a lot. It
+                               // would be better if this information was retrieved in a
+                               // delayed fashion.
+                               theFormats().getFormatFromFile(orig_from_name);
                format_cache.cache[to_format] = item;
        }
        is.close();
@@ -195,14 +198,14 @@ CacheItem * ConverterCache::Impl::find(FileName const & from,
                string const & format)
 {
        if (!lyxrc.use_converter_cache)
-               return 0;
+               return nullptr;
        CacheType::iterator const it1 = cache.find(from);
        if (it1 == cache.end())
-               return 0;
+               return nullptr;
        FormatCacheType & format_cache = it1->second.cache;
        FormatCacheType::iterator const it2 = format_cache.find(format);
        if (it2 == format_cache.end())
-               return 0;
+               return nullptr;
        return &(it2->second);
 }
 
@@ -241,6 +244,8 @@ void ConverterCache::init()
        cache_dir = FileName(addName(package().user_support().absFileName(), "cache"));
        if (!cache_dir.exists())
                if (!cache_dir.createDirectory(0700)) {
+                       // FIXME This should really be displayed as a message. But the GUI
+                       // does not exist yet.
                        lyxerr << "Could not create cache directory `"
                               << cache_dir << "'." << endl;
                        exit(EXIT_FAILURE);
@@ -251,7 +256,7 @@ void ConverterCache::init()
 
 void ConverterCache::writeIndex() const
 {
-       if (!lyxrc.use_converter_cache 
+       if (!lyxrc.use_converter_cache
                  || cache_dir.empty())
                return;
        pimpl_->writeIndex();
@@ -317,7 +322,7 @@ void ConverterCache::add(FileName const & orig_from, string const & to_format,
                        FormatCache & format_cache = pimpl_->cache[orig_from];
                        if (format_cache.from_format.empty())
                                format_cache.from_format =
-                                       formats.getFormatFromFile(orig_from);
+                                       theFormats().getFormatFromFile(orig_from);
                        format_cache.cache[to_format] = new_item;
                } else
                        LYXERR(Debug::FILES, "ConverterCache::add(" << orig_from << "):\n"