Fix T102225: Crash opening menus
Seems to be introduced by 99e5024e97.
The crash is caused by the difference in the expected alignment
of the `uiPopupMenu` which is 16 bytes and the actual alignment
returned by the `MEM_mallocN()` which is 8 bytes due to the memory
head.
Now made it so that `MEM_new()` can be used for types with any
alignment.
Differential Revision: https://developer.blender.org/D16375
This commit is contained in:
@@ -271,7 +271,7 @@ void MEM_use_guarded_allocator(void);
|
||||
template<typename T, typename... Args>
|
||||
inline T *MEM_new(const char *allocation_name, Args &&...args)
|
||||
{
|
||||
void *buffer = MEM_mallocN(sizeof(T), allocation_name);
|
||||
void *buffer = MEM_mallocN_aligned(sizeof(T), alignof(T), allocation_name);
|
||||
return new (buffer) T(std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user