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
be625026
Commit
be625026
authored
Nov 21, 1999
by
Eric Pouech
Committed by
Alexandre Julliard
Nov 21, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed a crash in IDirectDrawSurface:BltFast.
parent
31a1933a
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
2 deletions
+14
-2
ddraw.c
graphics/ddraw.c
+14
-2
No files found.
graphics/ddraw.c
View file @
be625026
...
...
@@ -1239,7 +1239,7 @@ static HRESULT WINAPI IDirectDrawSurface4Impl_BltFast(
DDSURFACEDESC
ddesc
,
sdesc
;
HRESULT
ret
=
DD_OK
;
LPBYTE
sbuf
,
dbuf
;
RECT
rsrc2
;
if
(
TRACE_ON
(
ddraw
))
{
FIXME
(
"(%p)->(%ld,%ld,%p,%p,%08lx)
\n
"
,
...
...
@@ -1248,12 +1248,24 @@ static HRESULT WINAPI IDirectDrawSurface4Impl_BltFast(
FIXME
(
" trans:"
);
if
(
FIXME_ON
(
ddraw
))
_dump_DDBLTFAST
(
trans
);
FIXME
(
" srcrect: %dx%d-%dx%d
\n
"
,
rsrc
->
left
,
rsrc
->
top
,
rsrc
->
right
,
rsrc
->
bottom
);
if
(
rsrc
)
FIXME
(
" srcrect: %dx%d-%dx%d
\n
"
,
rsrc
->
left
,
rsrc
->
top
,
rsrc
->
right
,
rsrc
->
bottom
);
else
FIXME
(
" srcrect: NULL
\n
"
);
}
/* We need to lock the surfaces, or we won't get refreshes when done. */
IDirectDrawSurface4_Lock
(
src
,
NULL
,
&
sdesc
,
DDLOCK_READONLY
,
0
);
IDirectDrawSurface4_Lock
(
iface
,
NULL
,
&
ddesc
,
DDLOCK_WRITEONLY
,
0
);
if
(
!
rsrc
)
{
WARN
(
"rsrc is NULL!
\n
"
);
rsrc
=
&
rsrc2
;
rsrc
->
left
=
rsrc
->
top
=
0
;
rsrc
->
right
=
sdesc
.
dwWidth
;
rsrc
->
bottom
=
sdesc
.
dwHeight
;
}
bpp
=
GET_BPP
(
This
->
s
.
surface_desc
);
sbuf
=
(
BYTE
*
)
sdesc
.
u1
.
lpSurface
+
(
rsrc
->
top
*
sdesc
.
lPitch
)
+
rsrc
->
left
*
bpp
;
dbuf
=
(
BYTE
*
)
ddesc
.
u1
.
lpSurface
+
(
dsty
*
ddesc
.
lPitch
)
+
dstx
*
bpp
;
...
...
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