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
1f845238
Commit
1f845238
authored
Sep 12, 2023
by
Rémi Bernon
Committed by
Alexandre Julliard
Sep 12, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dmime: Set the tool delivery type on the messages flags.
parent
09dc4a3f
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
18 additions
and
3 deletions
+18
-3
graph.c
dlls/dmime/graph.c
+11
-0
performance.c
dlls/dmime/performance.c
+4
-0
dmime.c
dlls/dmime/tests/dmime.c
+3
-3
No files found.
dlls/dmime/graph.c
View file @
1f845238
...
...
@@ -26,6 +26,7 @@ struct tool_entry
{
struct
list
entry
;
IDirectMusicTool
*
tool
;
DWORD
delivery
;
};
struct
graph
...
...
@@ -111,6 +112,7 @@ static ULONG WINAPI graph_Release(IDirectMusicGraph *iface)
static
HRESULT
WINAPI
graph_StampPMsg
(
IDirectMusicGraph
*
iface
,
DMUS_PMSG
*
msg
)
{
const
DWORD
delivery_flags
=
DMUS_PMSGF_TOOL_IMMEDIATE
|
DMUS_PMSGF_TOOL_QUEUE
|
DMUS_PMSGF_TOOL_ATTIME
;
struct
graph
*
This
=
impl_from_IDirectMusicGraph
(
iface
);
struct
tool_entry
*
entry
,
*
next
,
*
first
;
...
...
@@ -140,6 +142,9 @@ static HRESULT WINAPI graph_StampPMsg(IDirectMusicGraph *iface, DMUS_PMSG *msg)
msg
->
pTool
=
next
->
tool
;
IDirectMusicTool_AddRef
(
msg
->
pTool
);
msg
->
dwFlags
&=
~
delivery_flags
;
msg
->
dwFlags
|=
next
->
delivery
;
return
S_OK
;
}
...
...
@@ -148,6 +153,7 @@ static HRESULT WINAPI graph_InsertTool(IDirectMusicGraph *iface, IDirectMusicToo
{
struct
graph
*
This
=
impl_from_IDirectMusicGraph
(
iface
);
struct
tool_entry
*
entry
,
*
next
;
HRESULT
hr
;
TRACE
(
"(%p, %p, %p, %ld, %li)
\n
"
,
This
,
tool
,
channels
,
channel_count
,
index
);
...
...
@@ -163,6 +169,11 @@ static HRESULT WINAPI graph_InsertTool(IDirectMusicGraph *iface, IDirectMusicToo
entry
->
tool
=
tool
;
IDirectMusicTool_AddRef
(
tool
);
IDirectMusicTool_Init
(
tool
,
iface
);
if
(
FAILED
(
hr
=
IDirectMusicTool_GetMsgDeliveryType
(
tool
,
&
entry
->
delivery
)))
{
WARN
(
"Failed to get delivery type from tool %p, hr %#lx
\n
"
,
tool
,
hr
);
entry
->
delivery
=
DMUS_PMSGF_TOOL_IMMEDIATE
;
}
list_add_before
(
&
next
->
entry
,
&
entry
->
entry
);
return
S_OK
;
...
...
dlls/dmime/performance.c
View file @
1f845238
...
...
@@ -1311,6 +1311,10 @@ static HRESULT WINAPI performance_graph_StampPMsg(IDirectMusicGraph *iface, DMUS
if
(
hr
==
DMUS_S_LAST_TOOL
)
{
const
DWORD
delivery_flags
=
DMUS_PMSGF_TOOL_IMMEDIATE
|
DMUS_PMSGF_TOOL_QUEUE
|
DMUS_PMSGF_TOOL_ATTIME
;
msg
->
dwFlags
&=
~
delivery_flags
;
msg
->
dwFlags
|=
DMUS_PMSGF_TOOL_QUEUE
;
if
(
msg
->
pTool
)
IDirectMusicTool_Release
(
msg
->
pTool
);
msg
->
pTool
=
&
This
->
IDirectMusicTool_iface
;
IDirectMusicTool_AddRef
(
msg
->
pTool
);
...
...
dlls/dmime/tests/dmime.c
View file @
1f845238
...
...
@@ -756,7 +756,7 @@ static void test_graph(void)
ok
(
!
msg
.
dwSize
,
"got %ld
\n
"
,
msg
.
dwSize
);
ok
(
!
msg
.
rtTime
,
"got %I64d
\n
"
,
msg
.
rtTime
);
ok
(
!
msg
.
mtTime
,
"got %ld
\n
"
,
msg
.
mtTime
);
todo_wine
ok
(
msg
.
dwFlags
==
DMUS_PMSGF_TOOL_IMMEDIATE
,
"got %#lx
\n
"
,
msg
.
dwFlags
);
ok
(
msg
.
dwFlags
==
DMUS_PMSGF_TOOL_IMMEDIATE
,
"got %#lx
\n
"
,
msg
.
dwFlags
);
ok
(
!
msg
.
dwPChannel
,
"got %ld
\n
"
,
msg
.
dwPChannel
);
ok
(
!
msg
.
dwVirtualTrackID
,
"got %ld
\n
"
,
msg
.
dwVirtualTrackID
);
ok
(
!
msg
.
dwType
,
"got %#lx
\n
"
,
msg
.
dwType
);
...
...
@@ -1555,7 +1555,7 @@ static void test_performance_graph(void)
ok
(
!
msg
.
dwSize
,
"got %ld
\n
"
,
msg
.
dwSize
);
ok
(
!
msg
.
rtTime
,
"got %I64d
\n
"
,
msg
.
rtTime
);
ok
(
!
msg
.
mtTime
,
"got %ld
\n
"
,
msg
.
mtTime
);
todo_wine
ok
(
msg
.
dwFlags
==
DMUS_PMSGF_TOOL_QUEUE
,
"got %#lx
\n
"
,
msg
.
dwFlags
);
ok
(
msg
.
dwFlags
==
DMUS_PMSGF_TOOL_QUEUE
,
"got %#lx
\n
"
,
msg
.
dwFlags
);
ok
(
!
msg
.
dwPChannel
,
"got %ld
\n
"
,
msg
.
dwPChannel
);
ok
(
!
msg
.
dwVirtualTrackID
,
"got %ld
\n
"
,
msg
.
dwVirtualTrackID
);
ok
(
!
msg
.
dwType
,
"got %#lx
\n
"
,
msg
.
dwType
);
...
...
@@ -1611,7 +1611,7 @@ static void test_performance_graph(void)
ok
(
!
msg
.
dwSize
,
"got %ld
\n
"
,
msg
.
dwSize
);
ok
(
!
msg
.
rtTime
,
"got %I64d
\n
"
,
msg
.
rtTime
);
ok
(
!
msg
.
mtTime
,
"got %ld
\n
"
,
msg
.
mtTime
);
todo_wine
ok
(
msg
.
dwFlags
==
DMUS_PMSGF_TOOL_IMMEDIATE
,
"got %#lx
\n
"
,
msg
.
dwFlags
);
ok
(
msg
.
dwFlags
==
DMUS_PMSGF_TOOL_IMMEDIATE
,
"got %#lx
\n
"
,
msg
.
dwFlags
);
ok
(
!
msg
.
dwPChannel
,
"got %ld
\n
"
,
msg
.
dwPChannel
);
ok
(
!
msg
.
dwVirtualTrackID
,
"got %ld
\n
"
,
msg
.
dwVirtualTrackID
);
ok
(
!
msg
.
dwType
,
"got %#lx
\n
"
,
msg
.
dwType
);
...
...
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