Module: wine Branch: master Commit: 3cd86c9f62cfb800164068a2cb8a77b65ef6d9bc URL: http://source.winehq.org/git/wine.git/?a=commit;h=3cd86c9f62cfb800164068a2cb...
Author: Joachim Priesner joachim.priesner@web.de Date: Thu May 8 22:43:46 2014 +0200
wined3d: Clear active lights when cleaning up a D3D stateblock.
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;