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:
authorAntony Riakiotakis <kalast@gmail.com>2011-09-13 23:51:58 +0400
committerAntony Riakiotakis <kalast@gmail.com>2011-09-13 23:51:58 +0400
commit8a977cbcc90f870acdb8c03366bfc2c35f4a0a6f (patch)
tree3e73dabf917147929e302c0204b958d5dba13bf6 /source/blender
parent7548333b55253b3ff79da2d3f0be5d6858aabaa0 (diff)
fix compilation for MinGW by substituting qsort_r with qsort. What aversion do MinGW guys have for including '_r' variants of functions anyway?
Warning: a clean build will be needed probably to account for recent merge changes, or link errors will occur.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/blenkernel/intern/navmesh_conversion.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/navmesh_conversion.cpp b/source/blender/blenkernel/intern/navmesh_conversion.cpp
index cc3b926db75..9b373db59ff 100644
--- a/source/blender/blenkernel/intern/navmesh_conversion.cpp
+++ b/source/blender/blenkernel/intern/navmesh_conversion.cpp
@@ -289,6 +289,15 @@ struct SortContext
const int* recastData;
const int* trisToFacesMap;
};
+
+#ifdef FREE_WINDOWS
+static SortContext *_mingw_context;
+static int compareByData(const void * a, const void * b)
+{
+ return ( _mingw_context->recastData[_mingw_context->trisToFacesMap[*(int*)a]] -
+ _mingw_context->recastData[_mingw_context->trisToFacesMap[*(int*)b]] );
+}
+#else
#if defined(_MSC_VER)
static int compareByData(void* data, const void * a, const void * b)
#elif defined(__APPLE__) || defined(__FreeBSD__)
@@ -301,6 +310,7 @@ static int compareByData(const void * a, const void * b, void* data)
return ( context->recastData[context->trisToFacesMap[*(int*)a]] -
context->recastData[context->trisToFacesMap[*(int*)b]] );
}
+#endif
bool buildNavMeshData(const int nverts, const float* verts,
const int ntris, const unsigned short *tris,
@@ -327,6 +337,9 @@ bool buildNavMeshData(const int nverts, const float* verts,
qsort_s(trisMapping, ntris, sizeof(int), compareByData, &context);
#elif defined(__APPLE__) || defined(__FreeBSD__)
qsort_r(trisMapping, ntris, sizeof(int), &context, compareByData);
+#elif defined(FREE_WINDOWS)
+ _mingw_context = &context;
+ qsort(trisMapping, ntris, sizeof(int), compareByData);
#else
qsort_r(trisMapping, ntris, sizeof(int), compareByData, &context);
#endif