summaryrefslogtreecommitdiffstats
path: root/servers/visual/visual_server_wrap_mt.cpp
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2014-03-13 22:57:24 -0300
committerJuan Linietsky <reduzio@gmail.com>2014-03-13 22:57:24 -0300
commit31ce3c5fd0300aac1e86bced1efc5f9ec94bdb6b (patch)
treeb6d3a290333c72940b49ed4c930ff6858a59515e /servers/visual/visual_server_wrap_mt.cpp
parenta65edb4caabec21654c56552e11aacf0fd9291de (diff)
downloadredot-engine-31ce3c5fd0300aac1e86bced1efc5f9ec94bdb6b.tar.gz
-fix bug in cache for atlas import/export
-fix some menus -fixed bug in out transition curves -detect and remove file:/// in collada -remove multiscript for now -remove dependencies on mouse in OS, moved to Input -avoid fscache from screwing up (fix might make it slower, but it works) -funcref was missing, it's there now
Diffstat (limited to 'servers/visual/visual_server_wrap_mt.cpp')
-rw-r--r--servers/visual/visual_server_wrap_mt.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/servers/visual/visual_server_wrap_mt.cpp b/servers/visual/visual_server_wrap_mt.cpp
index 85f7b8c3cb..919656fe04 100644
--- a/servers/visual/visual_server_wrap_mt.cpp
+++ b/servers/visual/visual_server_wrap_mt.cpp
@@ -28,7 +28,7 @@
/*************************************************************************/
#include "visual_server_wrap_mt.h"
#include "os/os.h"
-
+#include "globals.h"
void VisualServerWrapMT::thread_exit() {
exit=true;
@@ -160,8 +160,12 @@ void VisualServerWrapMT::finish() {
if (thread) {
command_queue.push( this, &VisualServerWrapMT::thread_exit);
- Thread::wait_to_finish( thread );
+ Thread::wait_to_finish( thread );
memdelete(thread);
+
+
+ texture_free_cached_ids();
+
thread=NULL;
} else {
visual_server->finish();
@@ -181,6 +185,8 @@ VisualServerWrapMT::VisualServerWrapMT(VisualServer* p_contained,bool p_create_t
draw_mutex=NULL;
draw_pending=0;
draw_thread_up=false;
+ alloc_mutex=Mutex::create();
+ texture_pool_max_size=GLOBAL_DEF("render/thread_textures_prealloc",20);
if (!p_create_thread) {
server_thread=Thread::get_caller_ID();
} else {
@@ -192,6 +198,7 @@ VisualServerWrapMT::VisualServerWrapMT(VisualServer* p_contained,bool p_create_t
VisualServerWrapMT::~VisualServerWrapMT() {
memdelete(visual_server);
+ memdelete(alloc_mutex);
//finish();
}