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
efba6cd0
Commit
efba6cd0
authored
Apr 12, 2012
by
Christian Costa
Committed by
Alexandre Julliard
Apr 16, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
d3drm: Pass the first requested interface when notifying the application.
parent
916bfc6c
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
27 additions
and
12 deletions
+27
-12
d3drm.c
dlls/d3drm/d3drm.c
+27
-12
No files found.
dlls/d3drm/d3drm.c
View file @
efba6cd0
...
...
@@ -1353,7 +1353,6 @@ static HRESULT WINAPI IDirect3DRM3Impl_Load(IDirect3DRM3* iface, LPVOID ObjSourc
{
BOOL
requested
=
FALSE
;
HRESULT
hr
;
LPDIRECT3DRMMESHBUILDER3
pMeshBuilder
;
TRACE
(
"Found TID_D3DRMMesh
\n
"
);
...
...
@@ -1361,26 +1360,31 @@ static HRESULT WINAPI IDirect3DRM3Impl_Load(IDirect3DRM3* iface, LPVOID ObjSourc
if
(
IsEqualGUID
(
GUIDs
[
i
],
&
IID_IDirect3DRMMeshBuilder
)
||
IsEqualGUID
(
GUIDs
[
i
],
&
IID_IDirect3DRMMeshBuilder2
)
||
IsEqualGUID
(
GUIDs
[
i
],
&
IID_IDirect3DRMMeshBuilder3
))
{
requested
=
TRUE
;
break
;
}
if
(
requested
)
{
LPDIRECT3DRMMESHBUILDER3
meshbuilder
;
FIXME
(
"Load mesh data and notify application
\n
"
);
hr
=
IDirect3DRM3_CreateMeshBuilder
(
iface
,
&
pMeshB
uilder
);
hr
=
IDirect3DRM3_CreateMeshBuilder
(
iface
,
&
meshb
uilder
);
if
(
SUCCEEDED
(
hr
))
{
LPDIRECT3DRM
MESHBUILDER3
pMeshBuilder3
;
LPDIRECT3DRM
OBJECT
object
=
NULL
;
hr
=
IDirect3DRMMeshBuilder3_QueryInterface
(
pMeshBuilder
,
&
IID_IDirect3DRMMeshBuilder3
,
(
void
**
)
&
pMeshBuilder3
);
hr
=
IDirect3DRMMeshBuilder3_QueryInterface
(
meshbuilder
,
GUIDs
[
i
],
(
void
**
)
&
object
);
if
(
SUCCEEDED
(
hr
))
{
hr
=
load_mesh_data
(
pMeshBuilder3
,
pData
);
IDirect3DRMMeshBuilder3_Release
(
pMeshBuilder3
);
hr
=
load_mesh_data
(
meshbuilder
,
pData
);
if
(
SUCCEEDED
(
hr
))
LoadProc
(
object
,
GUIDs
[
i
],
ArgLP
);
IDirect3DRMObject_Release
(
object
);
}
if
(
SUCCEEDED
(
hr
))
LoadProc
((
LPDIRECT3DRMOBJECT
)
pMeshBuilder3
,
&
IID_IDirect3DRMMeshBuilder
,
ArgLP
);
IDirect3DRMMeshBuilder_Release
(
pMeshBuilder3
);
IDirect3DRMMeshBuilder3_Release
(
meshbuilder
);
}
if
(
FAILED
(
hr
))
...
...
@@ -1391,7 +1395,6 @@ static HRESULT WINAPI IDirect3DRM3Impl_Load(IDirect3DRM3* iface, LPVOID ObjSourc
{
BOOL
requested
=
FALSE
;
HRESULT
hr
;
LPDIRECT3DRMFRAME3
frame
;
TRACE
(
"Found TID_D3DRMFrame
\n
"
);
...
...
@@ -1399,21 +1402,33 @@ static HRESULT WINAPI IDirect3DRM3Impl_Load(IDirect3DRM3* iface, LPVOID ObjSourc
if
(
IsEqualGUID
(
GUIDs
[
i
],
&
IID_IDirect3DRMFrame
)
||
IsEqualGUID
(
GUIDs
[
i
],
&
IID_IDirect3DRMFrame2
)
||
IsEqualGUID
(
GUIDs
[
i
],
&
IID_IDirect3DRMFrame3
))
{
requested
=
TRUE
;
break
;
}
if
(
requested
)
{
LPDIRECT3DRMFRAME3
frame
;
FIXME
(
"Fake frame data and notify application
\n
"
);
hr
=
IDirect3DRM3_CreateFrame
(
iface
,
NULL
,
&
frame
);
if
(
SUCCEEDED
(
hr
))
{
LoadProc
((
LPDIRECT3DRMOBJECT
)
frame
,
&
IID_IDirect3DRMFrame
,
ArgLP
);
LPDIRECT3DRMOBJECT
object
;
hr
=
IDirect3DRMFrame3_QueryInterface
(
frame
,
GUIDs
[
i
],
(
void
**
)
&
object
);
if
(
SUCCEEDED
(
hr
))
{
LoadProc
(
object
,
GUIDs
[
i
],
ArgLP
);
IDirect3DRMObject_Release
(
object
);
}
IDirect3DRMFrame3_Release
(
frame
);
}
if
(
FAILED
(
hr
))
ERR
(
"Cannot process
mesh
\n
"
);
ERR
(
"Cannot process
frame
\n
"
);
}
}
...
...
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