Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
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-winehq
Commits
44b706f3
Commit
44b706f3
authored
Aug 17, 2022
by
Jacek Caban
Committed by
Alexandre Julliard
Aug 17, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wow64win: Use in-place conversion in NtUserDrawText thunk.
parent
35cf1fde
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
11 deletions
+8
-11
user.c
dlls/wow64win/user.c
+8
-11
No files found.
dlls/wow64win/user.c
View file @
44b706f3
...
...
@@ -824,22 +824,19 @@ static NTSTATUS WINAPI wow64_NtUserDrawText( void *arg, ULONG size )
struct
draw_text_params
*
params
=
arg
;
struct
draw_text_params32
*
params32
;
RECT
*
rect_ptr
=
params
->
ret_rect
;
ULONG
ret_len
,
len
;
ULONG
ret_len
;
void
*
ret_ptr
;
NTSTATUS
ret
;
len
=
(
size
-
FIELD_OFFSET
(
struct
draw_text_params
,
str
))
/
sizeof
(
WCHAR
);
if
(
!
(
params32
=
Wow64AllocateTemp
(
FIELD_OFFSET
(
struct
draw_text_params32
,
str
[
len
]
))))
return
0
;
params32
->
hdc
=
HandleToUlong
(
params
->
hdc
);
params32
->
count
=
params
->
count
;
params32
->
rect
=
params
->
rect
;
params32
->
ret_rect
=
0
;
params32
=
(
struct
draw_text_params32
*
)(
params
+
1
)
-
1
;
params32
->
flags
=
params
->
flags
;
if
(
len
)
memcpy
(
params32
->
str
,
params
->
str
,
len
*
sizeof
(
WCHAR
)
);
params32
->
ret_rect
=
0
;
params32
->
rect
=
params
->
rect
;
params32
->
count
=
params
->
count
;
params32
->
hdc
=
HandleToUlong
(
params
->
hdc
);
ret
=
Wow64KiUserCallbackDispatcher
(
NtUserDrawText
,
params
,
size
,
&
ret_ptr
,
&
ret_len
);
ret
=
Wow64KiUserCallbackDispatcher
(
NtUserDrawText
,
params32
,
size
-
sizeof
(
*
params
)
+
sizeof
(
*
params32
),
&
ret_ptr
,
&
ret_len
);
if
(
ret_len
==
sizeof
(
RECT
)
&&
rect_ptr
)
{
*
rect_ptr
=
*
(
const
RECT
*
)
ret_ptr
;
...
...
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