Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
eb317d9d
Commit
eb317d9d
authored
Jul 30, 2022
by
Jacek Caban
Committed by
Alexandre Julliard
Aug 08, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
win32u: Store receive_flags in ntuser_thread_info.
parent
ca903a4a
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
12 additions
and
6 deletions
+12
-6
message.c
dlls/user32/message.c
+1
-4
message.c
dlls/win32u/message.c
+10
-2
ntuser.h
include/ntuser.h
+1
-0
No files found.
dlls/user32/message.c
View file @
eb317d9d
...
@@ -713,10 +713,7 @@ BOOL WINAPI InSendMessage(void)
...
@@ -713,10 +713,7 @@ BOOL WINAPI InSendMessage(void)
*/
*/
DWORD
WINAPI
InSendMessageEx
(
LPVOID
reserved
)
DWORD
WINAPI
InSendMessageEx
(
LPVOID
reserved
)
{
{
struct
received_message_info
*
info
=
get_user_thread_info
()
->
receive_info
;
return
NtUserGetThreadInfo
()
->
receive_flags
;
if
(
info
)
return
info
->
flags
;
return
ISMEX_NOSEND
;
}
}
...
...
dlls/win32u/message.c
View file @
eb317d9d
...
@@ -1045,6 +1045,8 @@ static void reply_message( struct received_message_info *info, LRESULT result, M
...
@@ -1045,6 +1045,8 @@ static void reply_message( struct received_message_info *info, LRESULT result, M
memset
(
&
data
,
0
,
sizeof
(
data
)
);
memset
(
&
data
,
0
,
sizeof
(
data
)
);
info
->
flags
|=
ISMEX_REPLIED
;
info
->
flags
|=
ISMEX_REPLIED
;
if
(
info
==
get_user_thread_info
()
->
receive_info
)
NtUserGetThreadInfo
()
->
receive_flags
=
info
->
flags
;
if
(
info
->
type
==
MSG_OTHER_PROCESS
&&
!
replied
)
if
(
info
->
type
==
MSG_OTHER_PROCESS
&&
!
replied
)
{
{
...
@@ -1069,11 +1071,16 @@ static void reply_message( struct received_message_info *info, LRESULT result, M
...
@@ -1069,11 +1071,16 @@ static void reply_message( struct received_message_info *info, LRESULT result, M
*/
*/
BOOL
reply_message_result
(
LRESULT
result
,
MSG
*
msg
)
BOOL
reply_message_result
(
LRESULT
result
,
MSG
*
msg
)
{
{
struct
received_message_info
*
info
=
get_user_thread_info
()
->
receive_info
;
struct
user_thread_info
*
thread_info
=
get_user_thread_info
();
struct
received_message_info
*
info
=
thread_info
->
receive_info
;
if
(
!
info
)
return
FALSE
;
if
(
!
info
)
return
FALSE
;
reply_message
(
info
,
result
,
msg
);
reply_message
(
info
,
result
,
msg
);
if
(
msg
)
get_user_thread_info
()
->
receive_info
=
info
->
prev
;
if
(
msg
)
{
thread_info
->
receive_info
=
info
->
prev
;
thread_info
->
client_info
.
receive_flags
=
info
->
prev
?
info
->
prev
->
flags
:
ISMEX_NOSEND
;
}
return
TRUE
;
return
TRUE
;
}
}
...
@@ -1865,6 +1872,7 @@ static int peek_message( MSG *msg, HWND hwnd, UINT first, UINT last, UINT flags,
...
@@ -1865,6 +1872,7 @@ static int peek_message( MSG *msg, HWND hwnd, UINT first, UINT last, UINT flags,
info
.
prev
=
thread_info
->
receive_info
;
info
.
prev
=
thread_info
->
receive_info
;
thread_info
->
receive_info
=
&
info
;
thread_info
->
receive_info
=
&
info
;
thread_info
->
client_info
.
msg_source
=
msg_source_unavailable
;
thread_info
->
client_info
.
msg_source
=
msg_source_unavailable
;
thread_info
->
client_info
.
receive_flags
=
info
.
flags
;
result
=
call_window_proc
(
info
.
msg
.
hwnd
,
info
.
msg
.
message
,
info
.
msg
.
wParam
,
result
=
call_window_proc
(
info
.
msg
.
hwnd
,
info
.
msg
.
message
,
info
.
msg
.
wParam
,
info
.
msg
.
lParam
,
(
info
.
type
!=
MSG_ASCII
),
FALSE
,
info
.
msg
.
lParam
,
(
info
.
type
!=
MSG_ASCII
),
FALSE
,
WMCHAR_MAP_RECVMESSAGE
,
needs_unpack
,
buffer
,
size
);
WMCHAR_MAP_RECVMESSAGE
,
needs_unpack
,
buffer
,
size
);
...
...
include/ntuser.h
View file @
eb317d9d
...
@@ -67,6 +67,7 @@ struct ntuser_thread_info
...
@@ -67,6 +67,7 @@ struct ntuser_thread_info
ULONG_PTR
message_extra
;
/* value for GetMessageExtraInfo */
ULONG_PTR
message_extra
;
/* value for GetMessageExtraInfo */
INPUT_MESSAGE_SOURCE
msg_source
;
/* Message source for current message */
INPUT_MESSAGE_SOURCE
msg_source
;
/* Message source for current message */
WORD
recursion_count
;
/* SendMessage recursion counter */
WORD
recursion_count
;
/* SendMessage recursion counter */
UINT
receive_flags
;
/* currently received message flags */
HWND
top_window
;
/* desktop window */
HWND
top_window
;
/* desktop window */
HWND
msg_window
;
/* HWND_MESSAGE parent window */
HWND
msg_window
;
/* HWND_MESSAGE parent window */
DPI_AWARENESS
dpi_awareness
;
/* DPI awareness */
DPI_AWARENESS
dpi_awareness
;
/* DPI awareness */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment