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
1cc318c5
Commit
1cc318c5
authored
May 20, 2006
by
Vitaliy Margolen
Committed by
Alexandre Julliard
May 22, 2006
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
d3d8: All objects created by device should keep reference to it.
parent
17662eac
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
30 additions
and
6 deletions
+30
-6
cubetexture.c
dlls/d3d8/cubetexture.c
+1
-0
d3d8_private.h
dlls/d3d8/d3d8_private.h
+15
-3
device.c
dlls/d3d8/device.c
+10
-2
indexbuffer.c
dlls/d3d8/indexbuffer.c
+1
-0
swapchain.c
dlls/d3d8/swapchain.c
+1
-0
texture.c
dlls/d3d8/texture.c
+1
-0
vertexshader.c
dlls/d3d8/vertexshader.c
+0
-1
volumetexture.c
dlls/d3d8/volumetexture.c
+1
-0
No files found.
dlls/d3d8/cubetexture.c
View file @
1cc318c5
...
...
@@ -57,6 +57,7 @@ ULONG WINAPI IDirect3DCubeTexture8Impl_Release(LPDIRECT3DCUBETEXTURE8 iface) {
if
(
ref
==
0
)
{
TRACE
(
"Releasing child %p
\n
"
,
This
->
wineD3DCubeTexture
);
IWineD3DCubeTexture_Release
(
This
->
wineD3DCubeTexture
);
IUnknown_Release
(
This
->
parentDevice
);
HeapFree
(
GetProcessHeap
(),
0
,
This
);
}
return
ref
;
...
...
dlls/d3d8/d3d8_private.h
View file @
1cc318c5
...
...
@@ -229,6 +229,9 @@ struct IDirect3DSwapChain8Impl
/* IDirect3DSwapChain8 fields */
IWineD3DSwapChain
*
wineD3DSwapChain
;
/* Parent reference */
LPDIRECT3DDEVICE8
parentDevice
;
};
/* ----------------- */
...
...
@@ -321,6 +324,9 @@ struct IDirect3DIndexBuffer8Impl
/* IDirect3DResource8 fields */
IWineD3DIndexBuffer
*
wineD3DIndexBuffer
;
/* Parent reference */
LPDIRECT3DDEVICE8
parentDevice
;
};
/* --------------------- */
...
...
@@ -360,6 +366,9 @@ struct IDirect3DCubeTexture8Impl
/* IDirect3DResource8 fields */
IWineD3DCubeTexture
*
wineD3DCubeTexture
;
/* Parent reference */
LPDIRECT3DDEVICE8
parentDevice
;
};
/* ----------------- */
...
...
@@ -382,6 +391,9 @@ struct IDirect3DTexture8Impl
/* IDirect3DResourc8 fields */
IWineD3DTexture
*
wineD3DTexture
;
/* Parent reference */
LPDIRECT3DDEVICE8
parentDevice
;
};
/* ----------------------- */
...
...
@@ -404,6 +416,9 @@ struct IDirect3DVolumeTexture8Impl
/* IDirect3DResource8 fields */
IWineD3DVolumeTexture
*
wineD3DVolumeTexture
;
/* Parent reference */
LPDIRECT3DDEVICE8
parentDevice
;
};
/* ----------------------- */
...
...
@@ -532,9 +547,6 @@ struct IDirect3DVertexShader8Impl {
LONG
ref
;
IWineD3DVertexShader
*
wineD3DVertexShader
;
/* Parent reference */
LPDIRECT3DDEVICE8
parentDevice
;
};
...
...
dlls/d3d8/device.c
View file @
1cc318c5
...
...
@@ -214,6 +214,8 @@ HRESULT WINAPI IDirect3DDevice8Impl_CreateAdditionalSwapChain(LPDIRECT3DDEVICE8
HeapFree
(
GetProcessHeap
(),
0
,
object
);
*
pSwapChain
=
NULL
;
}
else
{
IUnknown_AddRef
(
iface
);
object
->
parentDevice
=
iface
;
*
pSwapChain
=
(
IDirect3DSwapChain8
*
)
object
;
}
TRACE
(
"(%p) returning %p
\n
"
,
This
,
*
pSwapChain
);
...
...
@@ -312,6 +314,8 @@ HRESULT WINAPI IDirect3DDevice8Impl_CreateTexture(LPDIRECT3DDEVICE8 iface, UINT
HeapFree
(
GetProcessHeap
(),
0
,
object
);
/* *ppTexture = NULL; */
}
else
{
IUnknown_AddRef
(
iface
);
object
->
parentDevice
=
iface
;
*
ppTexture
=
(
LPDIRECT3DTEXTURE8
)
object
;
}
...
...
@@ -350,6 +354,8 @@ HRESULT WINAPI IDirect3DDevice8Impl_CreateVolumeTexture(LPDIRECT3DDEVICE8 iface,
HeapFree
(
GetProcessHeap
(),
0
,
object
);
*
ppVolumeTexture
=
NULL
;
}
else
{
IUnknown_AddRef
(
iface
);
object
->
parentDevice
=
iface
;
*
ppVolumeTexture
=
(
LPDIRECT3DVOLUMETEXTURE8
)
object
;
}
TRACE
(
"(%p) returning %p
\n
"
,
This
,
*
ppVolumeTexture
);
...
...
@@ -387,6 +393,8 @@ HRESULT WINAPI IDirect3DDevice8Impl_CreateCubeTexture(LPDIRECT3DDEVICE8 iface, U
HeapFree
(
GetProcessHeap
(),
0
,
object
);
*
ppCubeTexture
=
NULL
;
}
else
{
IUnknown_AddRef
(
iface
);
object
->
parentDevice
=
iface
;
*
ppCubeTexture
=
(
LPDIRECT3DCUBETEXTURE8
)
object
;
}
...
...
@@ -452,6 +460,8 @@ HRESULT WINAPI IDirect3DDevice8Impl_CreateIndexBuffer(LPDIRECT3DDEVICE8 iface, U
HeapFree
(
GetProcessHeap
(),
0
,
object
);
*
ppIndexBuffer
=
NULL
;
}
else
{
IUnknown_AddRef
(
iface
);
object
->
parentDevice
=
iface
;
*
ppIndexBuffer
=
(
LPDIRECT3DINDEXBUFFER8
)
object
;
}
return
hrc
;
...
...
@@ -1071,8 +1081,6 @@ HRESULT WINAPI IDirect3DDevice8Impl_CreateVertexShader(LPDIRECT3DDEVICE8 iface,
FIXME
(
"(%p) : Number of shaders exceeds the maximum number of possible shaders
\n
"
,
This
);
hrc
=
E_OUTOFMEMORY
;
}
else
{
IUnknown_AddRef
(
iface
);
object
->
parentDevice
=
iface
;
This
->
vShaders
[
i
]
=
object
;
*
ppShader
=
i
+
VS_HIGHESTFIXEDFXF
+
1
;
}
...
...
dlls/d3d8/indexbuffer.c
View file @
1cc318c5
...
...
@@ -56,6 +56,7 @@ ULONG WINAPI IDirect3DIndexBuffer8Impl_Release(LPDIRECT3DINDEXBUFFER8 iface) {
if
(
ref
==
0
)
{
IWineD3DIndexBuffer_Release
(
This
->
wineD3DIndexBuffer
);
IUnknown_Release
(
This
->
parentDevice
);
HeapFree
(
GetProcessHeap
(),
0
,
This
);
}
return
ref
;
...
...
dlls/d3d8/swapchain.c
View file @
1cc318c5
...
...
@@ -56,6 +56,7 @@ ULONG WINAPI IDirect3DSwapChain8Impl_Release(LPDIRECT3DSWAPCHAIN8 iface) {
if
(
ref
==
0
)
{
IWineD3DSwapChain_Release
(
This
->
wineD3DSwapChain
);
IUnknown_Release
(
This
->
parentDevice
);
HeapFree
(
GetProcessHeap
(),
0
,
This
);
}
return
ref
;
...
...
dlls/d3d8/texture.c
View file @
1cc318c5
...
...
@@ -57,6 +57,7 @@ ULONG WINAPI IDirect3DTexture8Impl_Release(LPDIRECT3DTEXTURE8 iface) {
if
(
ref
==
0
)
{
IWineD3DTexture_Release
(
This
->
wineD3DTexture
);
IUnknown_Release
(
This
->
parentDevice
);
HeapFree
(
GetProcessHeap
(),
0
,
This
);
}
return
ref
;
...
...
dlls/d3d8/vertexshader.c
View file @
1cc318c5
...
...
@@ -56,7 +56,6 @@ ULONG WINAPI IDirect3DVertexShader8Impl_Release(IDirect3DVertexShader8 *iface) {
if
(
ref
==
0
)
{
IWineD3DVertexShader_Release
(
This
->
wineD3DVertexShader
);
IUnknown_Release
(
This
->
parentDevice
);
HeapFree
(
GetProcessHeap
(),
0
,
This
);
}
return
ref
;
...
...
dlls/d3d8/volumetexture.c
View file @
1cc318c5
...
...
@@ -57,6 +57,7 @@ ULONG WINAPI IDirect3DVolumeTexture8Impl_Release(LPDIRECT3DVOLUMETEXTURE8 iface)
if
(
ref
==
0
)
{
IWineD3DVolumeTexture_Release
(
This
->
wineD3DVolumeTexture
);
IUnknown_Release
(
This
->
parentDevice
);
HeapFree
(
GetProcessHeap
(),
0
,
This
);
}
return
ref
;
...
...
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