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