win32u: Move ThreadDetach driver call from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Huw Davies <huw@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
d6ae45b530
commit
9f6c004bb0
|
@ -266,10 +266,6 @@ static void CDECL nulldrv_WindowPosChanged( HWND hwnd, HWND insert_after, UINT s
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
static void CDECL nulldrv_ThreadDetach( void )
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* Lazy loading user driver
|
* Lazy loading user driver
|
||||||
|
@ -398,7 +394,7 @@ static struct user_driver_funcs lazy_load_driver =
|
||||||
/* vulkan support */
|
/* vulkan support */
|
||||||
NULL,
|
NULL,
|
||||||
/* thread management */
|
/* thread management */
|
||||||
nulldrv_ThreadDetach
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
void CDECL __wine_set_user_driver( const struct user_driver_funcs *funcs, UINT version )
|
void CDECL __wine_set_user_driver( const struct user_driver_funcs *funcs, UINT version )
|
||||||
|
@ -445,7 +441,6 @@ void CDECL __wine_set_user_driver( const struct user_driver_funcs *funcs, UINT v
|
||||||
SET_USER_FUNC(WindowMessage);
|
SET_USER_FUNC(WindowMessage);
|
||||||
SET_USER_FUNC(WindowPosChanging);
|
SET_USER_FUNC(WindowPosChanging);
|
||||||
SET_USER_FUNC(WindowPosChanged);
|
SET_USER_FUNC(WindowPosChanged);
|
||||||
SET_USER_FUNC(ThreadDetach);
|
|
||||||
#undef SET_USER_FUNC
|
#undef SET_USER_FUNC
|
||||||
|
|
||||||
prev = InterlockedCompareExchangePointer( (void **)&USER_Driver, driver, &lazy_load_driver );
|
prev = InterlockedCompareExchangePointer( (void **)&USER_Driver, driver, &lazy_load_driver );
|
||||||
|
|
|
@ -254,7 +254,6 @@ static void thread_detach(void)
|
||||||
exiting_thread_id = GetCurrentThreadId();
|
exiting_thread_id = GetCurrentThreadId();
|
||||||
|
|
||||||
WDML_NotifyThreadDetach();
|
WDML_NotifyThreadDetach();
|
||||||
USER_Driver->pThreadDetach();
|
|
||||||
|
|
||||||
NtUserCallNoParam( NtUserThreadDetach );
|
NtUserCallNoParam( NtUserThreadDetach );
|
||||||
destroy_thread_windows();
|
destroy_thread_windows();
|
||||||
|
|
|
@ -1070,6 +1070,8 @@ static const struct user_driver_funcs lazy_load_driver =
|
||||||
.pSystemParametersInfo = nulldrv_SystemParametersInfo,
|
.pSystemParametersInfo = nulldrv_SystemParametersInfo,
|
||||||
/* vulkan support */
|
/* vulkan support */
|
||||||
.pwine_get_vulkan_driver = loaderdrv_wine_get_vulkan_driver,
|
.pwine_get_vulkan_driver = loaderdrv_wine_get_vulkan_driver,
|
||||||
|
/* thread management */
|
||||||
|
.pThreadDetach = nulldrv_ThreadDetach,
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct user_driver_funcs *user_driver = &lazy_load_driver;
|
const struct user_driver_funcs *user_driver = &lazy_load_driver;
|
||||||
|
|
|
@ -4488,6 +4488,8 @@ static void thread_detach(void)
|
||||||
{
|
{
|
||||||
struct user_thread_info *thread_info = get_user_thread_info();
|
struct user_thread_info *thread_info = get_user_thread_info();
|
||||||
|
|
||||||
|
user_driver->pThreadDetach();
|
||||||
|
|
||||||
free( thread_info->key_state );
|
free( thread_info->key_state );
|
||||||
thread_info->key_state = 0;
|
thread_info->key_state = 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue