Fix Mono compilation on Windows/Ming
(cherry picked from commit 83140541dc91c29a288d7dd71044780b50b2cc4b)
This commit is contained in:
parent
317dee95de
commit
0deb8dda51
2 changed files with 19 additions and 10 deletions
|
|
@ -63,7 +63,13 @@ struct ThreadLocalStorage::Impl {
|
|||
#endif
|
||||
}
|
||||
|
||||
Impl(void (*p_destr_callback_func)(void *)) {
|
||||
#ifdef WINDOWS_ENABLED
|
||||
#define _CALLBACK_FUNC_ __stdcall
|
||||
#else
|
||||
#define _CALLBACK_FUNC_
|
||||
#endif
|
||||
|
||||
Impl(void _CALLBACK_FUNC_ (*p_destr_callback_func)(void *)) {
|
||||
#ifdef WINDOWS_ENABLED
|
||||
dwFlsIndex = FlsAlloc(p_destr_callback_func);
|
||||
ERR_FAIL_COND(dwFlsIndex == FLS_OUT_OF_INDEXES);
|
||||
|
|
@ -89,10 +95,12 @@ void ThreadLocalStorage::set_value(void *p_value) const {
|
|||
pimpl->set_value(p_value);
|
||||
}
|
||||
|
||||
void ThreadLocalStorage::alloc(void (*p_destr_callback)(void *)) {
|
||||
void ThreadLocalStorage::alloc(void _CALLBACK_FUNC_ (*p_destr_callback)(void *)) {
|
||||
pimpl = memnew(ThreadLocalStorage::Impl(p_destr_callback));
|
||||
}
|
||||
|
||||
#undef _CALLBACK_FUNC_
|
||||
|
||||
void ThreadLocalStorage::free() {
|
||||
memdelete(pimpl);
|
||||
pimpl = NULL;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue