diff options
author | sanikoyes <sanikoyes@163.com> | 2014-04-06 21:52:47 +0800 |
---|---|---|
committer | sanikoyes <sanikoyes@163.com> | 2014-04-06 21:52:47 +0800 |
commit | 77a840e350668a9c80b1e63b9b73aac44221c53b (patch) | |
tree | 40d2115e639bdc72a61811ac4f2fb0f04ec8eb7f /servers/visual/visual_server_wrap_mt.cpp | |
parent | 14bbdcb139b35e6d206df1ab3176d34245b72329 (diff) | |
parent | ded365031ede27b7a6efef59bc886343f58d310b (diff) |
Merge branch 'master' into hotfix-android-unicode-ime-input
Diffstat (limited to 'servers/visual/visual_server_wrap_mt.cpp')
-rw-r--r-- | servers/visual/visual_server_wrap_mt.cpp | 11 |
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(); } |