X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fresources%2Fresource.cpp;h=60d611f8ace7a20386a9232497e2f2f0dfb42e1a;hb=HEAD;hp=4be6ee26bcef7d6bafa241a42fdf0bf00dde1fe4;hpb=7aaec9a70b8d7733429bec043f8e33e02956f266;p=libs%2Fgl.git diff --git a/source/resources/resource.cpp b/source/resources/resource.cpp index 4be6ee26..60d611f8 100644 --- a/source/resources/resource.cpp +++ b/source/resources/resource.cpp @@ -4,16 +4,25 @@ namespace Msp { namespace GL { -Resource::Resource(): - manager(0) -{ } - Resource::~Resource() { if(manager) manager->remove_resource(*this); } +Resource::Resource(Resource &&other): + manager(other.manager), + manager_data(other.manager_data) +{ + if(manager) + { + manager->move_resource(other, *this); + manager_data = manager->get_data_for_resource(*this); + } + other.manager = 0; + other.manager_data = 0; +} + void Resource::set_manager(ResourceManager *m) { if(manager)