Jacek Caban : win32u: Store wmchar_data in ntuser_thread_info.
Alexandre Julliard
julliard at winehq.org
Mon Aug 8 15:17:51 CDT 2022
Module: wine
Branch: master
Commit: da2c400edcf2d552b06369143103d20fcb3cddb3
URL: https://gitlab.winehq.org/wine/wine/-/commit/da2c400edcf2d552b06369143103d20fcb3cddb3
Author: Jacek Caban <jacek at codeweavers.com>
Date: Fri Jul 29 21:13:39 2022 +0200
win32u: Store wmchar_data in ntuser_thread_info.
---
dlls/user32/message.c | 10 +++++-----
dlls/user32/user_main.c | 2 +-
dlls/win32u/ntuser_private.h | 1 -
include/ntuser.h | 1 +
4 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/dlls/user32/message.c b/dlls/user32/message.c
index 42cab89da05..d1a211bb281 100644
--- a/dlls/user32/message.c
+++ b/dlls/user32/message.c
@@ -63,7 +63,7 @@ static inline void *unpack_ptr( ULONGLONG ptr64 )
/* check for pending WM_CHAR message with DBCS trailing byte */
static inline BOOL get_pending_wmchar( MSG *msg, UINT first, UINT last, BOOL remove )
{
- struct wm_char_mapping_data *data = get_user_thread_info()->wmchar_data;
+ struct wm_char_mapping_data *data = NtUserGetThreadInfo()->wmchar_data;
if (!data || !data->get_msg.message) return FALSE;
if ((first || last) && (first > WM_CHAR || last < WM_CHAR)) return FALSE;
@@ -119,7 +119,7 @@ BOOL map_wparam_AtoW( UINT message, WPARAM *wparam, enum wm_char_mapping mapping
*/
if (mapping != WMCHAR_MAP_NOMAPPING)
{
- struct wm_char_mapping_data *data = get_user_thread_info()->wmchar_data;
+ struct wm_char_mapping_data *data = NtUserGetThreadInfo()->wmchar_data;
BYTE low = LOBYTE(*wparam);
cp = get_input_codepage();
@@ -152,7 +152,7 @@ BOOL map_wparam_AtoW( UINT message, WPARAM *wparam, enum wm_char_mapping mapping
{
if (!(data = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*data) )))
return FALSE;
- get_user_thread_info()->wmchar_data = data;
+ NtUserGetThreadInfo()->wmchar_data = data;
}
TRACE( "storing lead byte %02x mapping %u\n", low, mapping );
data->lead_byte[mapping] = low;
@@ -210,11 +210,11 @@ static void map_wparam_WtoA( MSG *msg, BOOL remove )
len = WideCharToMultiByte( cp, 0, wch, 1, (LPSTR)ch, 2, NULL, NULL );
if (len == 2) /* DBCS char */
{
- struct wm_char_mapping_data *data = get_user_thread_info()->wmchar_data;
+ struct wm_char_mapping_data *data = NtUserGetThreadInfo()->wmchar_data;
if (!data)
{
if (!(data = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*data) ))) return;
- get_user_thread_info()->wmchar_data = data;
+ NtUserGetThreadInfo()->wmchar_data = data;
}
if (remove)
{
diff --git a/dlls/user32/user_main.c b/dlls/user32/user_main.c
index 269fdede708..139d9b5f46e 100644
--- a/dlls/user32/user_main.c
+++ b/dlls/user32/user_main.c
@@ -233,7 +233,7 @@ static BOOL process_attach(void)
*/
static void thread_detach(void)
{
- struct user_thread_info *thread_info = get_user_thread_info();
+ struct ntuser_thread_info *thread_info = NtUserGetThreadInfo();
NtUserCallNoParam( NtUserExitingThread );
diff --git a/dlls/win32u/ntuser_private.h b/dlls/win32u/ntuser_private.h
index b048d194a4e..c62bb0d457f 100644
--- a/dlls/win32u/ntuser_private.h
+++ b/dlls/win32u/ntuser_private.h
@@ -131,7 +131,6 @@ struct user_thread_info
UINT active_hooks; /* Bitmap of active hooks */
INPUT_MESSAGE_SOURCE msg_source; /* Message source for current message */
struct received_message_info *receive_info; /* Message being currently received */
- struct wm_char_mapping_data *wmchar_data; /* Data for WM_CHAR mappings */
struct user_key_state_info *key_state; /* Cache of global key state */
struct imm_thread_data *imm_thread_data; /* IMM thread data */
HKL kbd_layout; /* Current keyboard layout */
diff --git a/include/ntuser.h b/include/ntuser.h
index b36b630ce7f..ec6f58a2f2e 100644
--- a/include/ntuser.h
+++ b/include/ntuser.h
@@ -70,6 +70,7 @@ struct ntuser_thread_info
DPI_AWARENESS dpi_awareness; /* DPI awareness */
HIMC default_imc; /* default input context */
void *client_imm; /* client IMM thread info */
+ struct wm_char_mapping_data *wmchar_data; /* Data for WM_CHAR mappings */
};
static inline struct ntuser_thread_info *NtUserGetThreadInfo(void)
More information about the wine-cvs
mailing list