]> git.lyx.org Git - lyx.git/blobdiff - src/graphics/GraphicsCache.C
small fix with footnote, use stringstream some more
[lyx.git] / src / graphics / GraphicsCache.C
index a2bed25973dfa2751e63849a5eef36e09052df94..93c3f9a822d3db868a1a0081bf0e48f82eb33c05 100644 (file)
 
 #include "support/LAssert.h"
 
-GraphicsCache * GraphicsCache::singleton = 0;
-
-
-GraphicsCache * 
+GraphicsCache &
 GraphicsCache::getInstance()
 {
-       if (!singleton) {
-               singleton = new GraphicsCache;
-               Assert(singleton != 0);
-       }
-
+       static GraphicsCache singleton;
        return singleton;
 }
 
 
 GraphicsCache::~GraphicsCache()
 {
-       // The map elements should have already been eliminated.
-       Assert(cache.empty());
-       
-       delete singleton;
+       // All elements are destroyed by the shared_ptr's in the map.
 }
 
 
@@ -50,7 +40,7 @@ GraphicsCache::addFile(string const & filename)
        CacheType::iterator it = cache.find(filename);
        
        if (it != cache.end()) {
-               return (*it).second;
+               return it->second;
        }
        
        shared_ptr_item cacheItem(new GraphicsCacheItem(filename));