diff options
Diffstat (limited to 'Database/internals/database-internal.cpp')
-rw-r--r-- | Database/internals/database-internal.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Database/internals/database-internal.cpp b/Database/internals/database-internal.cpp index e19222a..e564c01 100644 --- a/Database/internals/database-internal.cpp +++ b/Database/internals/database-internal.cpp @@ -1,10 +1,11 @@ #include "database-internal.h" +#include "database.h" DatabaseCell::DatabaseCell(Cpu * cpu, Uint64 cpu_base, absolute_ptr origin, Uint32 size, Uint32 extra_size, DatabaseCell * prev, Database * parent) : cpu(cpu), next(0), prev(prev), parent(parent) { prev->next = this; parent->setEnd(this); - if (origin) { - Segment * origin_seg = parent->GetSegment(SEGID(origin)); + if (origin.raw_ptr) { + Segment * origin_seg = parent->getSegment(SEGID(origin)); segment = new Segment(size, cpu_base, parent->GetNextSegId(), extra_size, origin_seg->getPristineMemory() + SEGOFFSET(origin)); } else { segment = new Segment(size, cpu_base, parent->GetNextSegId(), extra_size); |