X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fcore%2Fbuffer.cpp;h=d5fc29d11635830042b1b065905c818c1d3ac79d;hp=b6f2e44b9e55555bebcfa08b80bf1ffeadb4a3c5;hb=b294ef47df0ae87c42fe8114987817fb28326f10;hpb=c356a20547afae97b412da36e0b0a7d51e879401 diff --git a/source/core/buffer.cpp b/source/core/buffer.cpp index b6f2e44b..d5fc29d1 100644 --- a/source/core/buffer.cpp +++ b/source/core/buffer.cpp @@ -76,7 +76,7 @@ bool Buffer::unmap() Buffer::AsyncTransfer::AsyncTransfer(Buffer &b, size_t o, size_t s): - buffer(b), + buffer(&b), offset(o), size(s), dest_addr(0) @@ -93,6 +93,21 @@ Buffer::AsyncTransfer::AsyncTransfer(AsyncTransfer &&other): other.dest_addr = 0; } +Buffer::AsyncTransfer &Buffer::AsyncTransfer::operator=(AsyncTransfer &&other) +{ + if(dest_addr) + finalize(); + + buffer = other.buffer; + offset = other.offset; + size = other.size; + dest_addr = other.dest_addr; + + other.dest_addr = 0; + + return *this; +} + Buffer::AsyncTransfer::~AsyncTransfer() { if(dest_addr)