Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-02-15 16:08:06 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-02-15 16:08:06 +0400
commit428f031237b8ad10a7d85110857167c1d3f57415 (patch)
treec3ebda9dd4ab5d01fe60301efd630c613819efb2 /source/gameengine
parent77223492fd63f061b145b29bde5790fa1dd58c46 (diff)
parent3ac1ad5378cbf64f823e53cff393351764e042a8 (diff)
svn merge ^/trunk/blender -r44076:44118
Diffstat (limited to 'source/gameengine')
-rw-r--r--source/gameengine/Converter/BL_ShapeDeformer.cpp7
-rw-r--r--source/gameengine/GamePlayer/common/GPC_RenderTools.cpp23
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);