mirror of
https://github.com/dhewm/dhewm3-sdk.git
synced 2024-11-21 20:21:19 +00:00
Fix alignment issue with idBlockAlloc::Free()
Bug introduced with e97d3288. This doesn't work with MinGW, since the struct members might not be aligned to the native pointer size (in this case idSampleDecoderLocal was aligned to a 8 byte boundary on win32). Just switch the two members to avoid ugly code.
This commit is contained in:
parent
22637272dc
commit
01b5e365e8
1 changed files with 2 additions and 2 deletions
|
@ -170,8 +170,8 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
typedef struct element_s {
|
typedef struct element_s {
|
||||||
struct element_s * next;
|
|
||||||
type t;
|
type t;
|
||||||
|
struct element_s * next;
|
||||||
} element_t;
|
} element_t;
|
||||||
typedef struct block_s {
|
typedef struct block_s {
|
||||||
element_t elements[blockSize];
|
element_t elements[blockSize];
|
||||||
|
@ -217,7 +217,7 @@ type *idBlockAlloc<type,blockSize>::Alloc( void ) {
|
||||||
|
|
||||||
template<class type, int blockSize>
|
template<class type, int blockSize>
|
||||||
void idBlockAlloc<type,blockSize>::Free( type *t ) {
|
void idBlockAlloc<type,blockSize>::Free( type *t ) {
|
||||||
element_t *element = (element_t *)( intptr_t(t) - sizeof(intptr_t) );
|
element_t *element = (element_t *)t;
|
||||||
element->next = free;
|
element->next = free;
|
||||||
free = element;
|
free = element;
|
||||||
active--;
|
active--;
|
||||||
|
|
Loading…
Reference in a new issue