Zitat Zitat von TheDodger Beitrag anzeigen
Ahhh, eine Fehlinterpretation meinerseits ...
Sowas kann sich echt fix rächen

Leider scheint auch ein insert() nicht so wie gewünscht zu funktionieren (jedenfalls, so, wie ich es gerade mache) ...
Cache.h:
Code:
class RequestCache {

   public:
                       RequestCache()           { m_file = "" ; m_data = ""; }

      void              setFile( QString f )    { m_file = f; }
      void              setData( QByteArray d ) { m_data = d; }

      QByteArray        data() { return m_data; }
      
   private:   
      QString           m_file;
      QByteArray        m_data;
};

class RIPCache
 : public QObject,
   public ErrorHandler {

   public:
                        RIPCache();
                        ~RIPCache();

      void              insert( QString file, QByteArray d );

      bool              inCache( QString );
      QByteArray        fromCache( QString f );
      
   private:
      QCache<QString, RequestCache> m_cache;
      RequestCache*     r_cache;

};
Cache.cpp
Code:
RIPCache::RIPCache() {

   r_cache = new RequestCache();
   QCache<QString, RequestCache> m_cache(500000);
}

RIPCache::~RIPCache() {}


void RIPCache::insert( QString f, QByteArray d ) {

   r_cache->setFile( f );
   r_cache->setData( d );

   Debug( QString( "  size bevore '%1'" ).arg( m_cache.size() ).toAscii() );
   
   m_cache.insert( f, r_cache );

   Debug( QString( "  size after  '%1'" ).arg( m_cache.size() ).toAscii() );
}
Kurzauszüge des aktuellen Codes.
So bald ich eine 2. Datei in den Cache legen will, bekomme ich einen SegFault und das gesamte Gebilde stürtzt ab. :-(

Vielleicht sieht jemand von euch auf den ersten Blick meinen Denkfehler?

Gruß!
B.