]> git.tdb.fi Git - libs/gl.git/blobdiff - source/resourcemanager.cpp
Allow setting uniform values using a Uniform object
[libs/gl.git] / source / resourcemanager.cpp
index 6d383de4012dee79193a145c8bd0643ed0165bca..9835adde3e8dd7efffe038f6eeb7f39a7c26101c 100644 (file)
@@ -24,6 +24,7 @@ resource_load_error::resource_load_error(const string &name, const exception &ex
 ResourceManager::ResourceManager():
        policy(LOAD_ON_DEMAND),
        async_loads(true),
+       total_data_size(0),
        size_limit(0),
        frame(0),
        min_retain_frames(30),
@@ -162,6 +163,9 @@ void ResourceManager::remove_resource(Resource &r)
        else if(state>ManagedResource::LOAD_QUEUED && state<ManagedResource::LOADED)
                thread.remove_resource(managed);
 
+       for(vector<ResourceWatcher *>::const_iterator i=managed.watchers.begin(); i!=managed.watchers.end(); ++i)
+               (*i)->resource_removed(r);
+
        MutexLock lock(map_mutex);
        remove_existing(resources, &r);
 }
@@ -374,6 +378,7 @@ ResourceManager::LoadingThread::LoadingThread():
        sem(1),
        capacity(2),
        size(0),
+       loaded_data_size(0),
        done(false)
 {
        launch();
@@ -409,13 +414,13 @@ void ResourceManager::LoadingThread::main()
        }
 }
 
-ResourceManager::ManagedResource *ResourceManager::LoadingThread::front(LoadQueue &queue)
+ResourceManager::ManagedResource *ResourceManager::LoadingThread::front(LoadQueue &que)
 {
        MutexLock lock(queue_mutex);
-       if(queue.empty())
+       if(que.empty())
                return 0;
 
-       return queue.front();
+       return que.front();
 }
 
 void ResourceManager::LoadingThread::add_resource(ManagedResource &r)