]> git.lyx.org Git - lyx.git/blobdiff - src/ConverterCache.cpp
Do not output deleted rows columns if show changes in output is false
[lyx.git] / src / ConverterCache.cpp
index 77ba7b32e64210ddbe80309976050255c0b89349..2373b84d2fb06f2fe1ea6ef781aac02fbdef97bc 100644 (file)
@@ -49,13 +49,14 @@ unsigned long do_crc(string const & s)
 }
 
 
+// FIXME THREAD
+// This should be OK because it is only assigned during init()
 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)
@@ -75,7 +76,7 @@ public:
        unsigned long checksum;
 };
 
-}
+} // namespace
 
 
 /** The cache contains one item per orig file and target format, so use a
@@ -158,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();
@@ -249,7 +254,7 @@ void ConverterCache::init()
 
 void ConverterCache::writeIndex() const
 {
-       if (!lyxrc.use_converter_cache 
+       if (!lyxrc.use_converter_cache
                  || cache_dir.empty())
                return;
        pimpl_->writeIndex();
@@ -315,7 +320,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"
@@ -431,7 +436,7 @@ FileName const & ConverterCache::cacheName(FileName const & orig_from,
        LYXERR(Debug::FILES, orig_from << ' ' << to_format);
 
        CacheItem * const item = pimpl_->find(orig_from, to_format);
-       LASSERT(item, /**/);
+       LASSERT(item, { static const FileName fn; return fn; });
        return item->cache_name;
 }
 
@@ -455,7 +460,7 @@ bool ConverterCache::copy(FileName const & orig_from, string const & to_format,
        }
 
        CacheItem * const item = pimpl_->find(orig_from, to_format);
-       LASSERT(item, /**/);
+       LASSERT(item, return false);
        Mover const & mover = getMover(to_format);
        return mover.copy(item->cache_name, dest,
                          onlyFileName(dest.absFileName()));