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
dfcaf61d
Commit
dfcaf61d
authored
Jun 23, 2010
by
Eric Pouech
Committed by
Alexandre Julliard
Jun 24, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mmsystem.drv: Always create a thunk for MMIO objects.
parent
410f8e91
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
9 deletions
+14
-9
mmio16.c
dlls/mmsystem.dll16/mmio16.c
+14
-9
No files found.
dlls/mmsystem.dll16/mmio16.c
View file @
dfcaf61d
...
...
@@ -248,7 +248,7 @@ HMMIO16 WINAPI mmioOpen16(LPSTR szFileName, MMIOINFO16* lpmmioinfo16,
memset
(
&
mmioinfo
,
0
,
sizeof
(
mmioinfo
));
EnterCriticalSection
(
&
mmio_cs
);
if
(
lpmmioinfo16
->
pIOProc
&&
!
(
thunk
=
MMIO_AddThunk
(
lpmmioinfo16
->
pIOProc
,
lpmmioinfo16
->
pchBuffer
)))
if
(
!
(
thunk
=
MMIO_AddThunk
(
lpmmioinfo16
->
pIOProc
,
lpmmioinfo16
->
pchBuffer
)))
{
LeaveCriticalSection
(
&
mmio_cs
);
return
0
;
...
...
@@ -256,7 +256,7 @@ HMMIO16 WINAPI mmioOpen16(LPSTR szFileName, MMIOINFO16* lpmmioinfo16,
mmioinfo
.
dwFlags
=
lpmmioinfo16
->
dwFlags
;
mmioinfo
.
fccIOProc
=
lpmmioinfo16
->
fccIOProc
;
mmioinfo
.
pIOProc
=
(
LPMMIOPROC
)
thunk
;
mmioinfo
.
pIOProc
=
lpmmioinfo16
->
pIOProc
?
(
LPMMIOPROC
)
thunk
:
0
;
mmioinfo
.
cchBuffer
=
lpmmioinfo16
->
cchBuffer
;
mmioinfo
.
pchBuffer
=
MapSL
((
DWORD
)
lpmmioinfo16
->
pchBuffer
);
mmioinfo
.
adwInfo
[
0
]
=
lpmmioinfo16
->
adwInfo
[
0
];
...
...
@@ -267,14 +267,19 @@ HMMIO16 WINAPI mmioOpen16(LPSTR szFileName, MMIOINFO16* lpmmioinfo16,
mmioinfo
.
adwInfo
[
2
]
=
lpmmioinfo16
->
adwInfo
[
2
];
ret
=
mmioOpenA
(
szFileName
,
&
mmioinfo
,
dwOpenFlags
);
if
(
thunk
)
if
(
!
ret
||
(
dwOpenFlags
&
(
MMIO_PARSE
|
MMIO_EXIST
))
)
{
if
(
!
ret
||
(
dwOpenFlags
&
(
MMIO_PARSE
|
MMIO_EXIST
)))
{
thunk
->
pfn16
=
NULL
;
thunk
->
hMmio
=
NULL
;
}
else
thunk
->
hMmio
=
ret
;
thunk
->
pfn16
=
NULL
;
thunk
->
hMmio
=
NULL
;
}
else
thunk
->
hMmio
=
ret
;
if
(
ret
&&
(
dwOpenFlags
&
MMIO_ALLOCBUF
))
{
MMIOINFO
m
;
if
(
lpmmioinfo16
->
pchBuffer
)
FIXME
(
"ooch
\n
"
);
/* FIXME: check whether mmioOpen should set pchBuffer */
mmioGetInfo
(
ret
,
&
m
,
0
);
thunk
->
segbuffer
=
MapLS
(
m
.
pchBuffer
);
}
LeaveCriticalSection
(
&
mmio_cs
);
...
...
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