diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-02-15 16:08:06 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-02-15 16:08:06 +0400 |
commit | 428f031237b8ad10a7d85110857167c1d3f57415 (patch) | |
tree | c3ebda9dd4ab5d01fe60301efd630c613819efb2 /source/gameengine | |
parent | 77223492fd63f061b145b29bde5790fa1dd58c46 (diff) | |
parent | 3ac1ad5378cbf64f823e53cff393351764e042a8 (diff) |
svn merge ^/trunk/blender -r44076:44118
Diffstat (limited to 'source/gameengine')
-rw-r--r-- | source/gameengine/Converter/BL_ShapeDeformer.cpp | 7 | ||||
-rw-r--r-- | source/gameengine/GamePlayer/common/GPC_RenderTools.cpp | 23 |
2 files changed, 29 insertions, 1 deletions
diff --git a/source/gameengine/Converter/BL_ShapeDeformer.cpp b/source/gameengine/Converter/BL_ShapeDeformer.cpp index fb0a86d6084..bb3636881ea 100644 --- a/source/gameengine/Converter/BL_ShapeDeformer.cpp +++ b/source/gameengine/Converter/BL_ShapeDeformer.cpp @@ -50,6 +50,8 @@ #include "DNA_meshdata_types.h" #include "BKE_armature.h" #include "BKE_action.h" +#include "BKE_global.h" +#include "BKE_main.h" #include "BKE_key.h" #include "BKE_ipo.h" #include "MT_Point3.h" @@ -97,10 +99,13 @@ BL_ShapeDeformer::BL_ShapeDeformer(BL_DeformableGameObject *gameobj, BL_ShapeDeformer::~BL_ShapeDeformer() { - if (m_key && m_bmesh->key) + if (m_key && m_bmesh->key && m_key != m_bmesh->key) { free_key(m_bmesh->key); + BLI_remlink_safe(&G.main->key, m_bmesh->key); + MEM_freeN(m_bmesh->key); m_bmesh->key = m_key; + m_key = NULL; } }; diff --git a/source/gameengine/GamePlayer/common/GPC_RenderTools.cpp b/source/gameengine/GamePlayer/common/GPC_RenderTools.cpp index 55e3220c08c..54e2efd8776 100644 --- a/source/gameengine/GamePlayer/common/GPC_RenderTools.cpp +++ b/source/gameengine/GamePlayer/common/GPC_RenderTools.cpp @@ -291,6 +291,29 @@ void GPC_RenderTools::RenderText3D( int fontid, double* mat, float aspect) { + if(GLEW_ARB_multitexture) { + for(int i=0; i<MAXTEX; i++) { + glActiveTextureARB(GL_TEXTURE0_ARB+i); + + if(GLEW_ARB_texture_cube_map) + if(glIsEnabled(GL_TEXTURE_CUBE_MAP_ARB)) + glDisable(GL_TEXTURE_CUBE_MAP_ARB); + + if(glIsEnabled(GL_TEXTURE_2D)) + glDisable(GL_TEXTURE_2D); + } + + glActiveTextureARB(GL_TEXTURE0_ARB); + } + else { + if(GLEW_ARB_texture_cube_map) + if(glIsEnabled(GL_TEXTURE_CUBE_MAP_ARB)) + glDisable(GL_TEXTURE_CUBE_MAP_ARB); + + if(glIsEnabled(GL_TEXTURE_2D)) + glDisable(GL_TEXTURE_2D); + } + /* the actual drawing */ glColor4fv(color); |