wined3d: Clear active lights when cleaning up a D3D stateblock.
Joachim Priesner
joachim.priesner at web.de
Fri May 9 02:03:10 CDT 2014
This prevents dangling pointers as the light structures that the pointers in
the state->lights array point to are freed below when cleaning the light maps.
---
dlls/wined3d/stateblock.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/dlls/wined3d/stateblock.c b/dlls/wined3d/stateblock.c
index f991362..e98ee2a 100644
--- a/dlls/wined3d/stateblock.c
+++ b/dlls/wined3d/stateblock.c
@@ -539,6 +539,11 @@ void state_cleanup(struct wined3d_state *state)
if (!(state->flags & WINED3D_STATE_NO_REF))
state_unbind_resources(state);
+ for (counter = 0; counter < MAX_ACTIVE_LIGHTS; ++counter)
+ {
+ state->lights[counter] = NULL;
+ }
+
for (counter = 0; counter < LIGHTMAP_SIZE; ++counter)
{
struct list *e1, *e2;
--
1.8.4.5
More information about the wine-patches
mailing list