Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 62427ee0

Von Christian Ehringfeld vor fast 9 Jahren hinzugefügt

  • ID 62427ee0c716323385a914be6e7c8f4cb0d57e1a
  • Vorgänger 2075db87
  • Nachfolger 396a60d7

i hope this is enough to provide safe caching

Unterschiede anzeigen:

src/cache.cpp
return false;
}
void Cache::insert(const QSharedPointer<Entity> &entity) {
void Cache::insert(QSharedPointer<Entity> &entity) {
if (entity.data() && entity.data()->getId() > -1) {
QString key = this->generateKey(entity.data()->getId(),
QString(entity.data()->getClassname()));
// if(this->cache.contains(key)) {
// Entity* ptr = this->cache.value(key).toStrongRef().data();
// Entity* refreshed = entity.data();
// *ptr = *refreshed;
// } else {
this->cache.insert(key,entity.toWeakRef());
//}
if (this->cache.contains(key)) {
QSharedPointer<Entity> ptr = this->cache.value(key).toStrongRef();
if (!ptr.isNull()) {
ptr.reset(entity.data());
entity = ptr;
}
}
this->cache.insert(key, entity.toWeakRef());
}
}

Auch abrufbar als: Unified diff