Module: wine Branch: stable Commit: 78a951d16f12cdd85d0b0b42d5f459f80ad809eb URL: https://gitlab.winehq.org/wine/wine/-/commit/78a951d16f12cdd85d0b0b42d5f459f...
Author: Zebediah Figura zfigura@codeweavers.com Date: Mon Feb 7 17:24:34 2022 -0600
d3dx9: Don't mark annotation variables as dirty.
This fixes a crash when trying to set their value.
Signed-off-by: Zebediah Figura zfigura@codeweavers.com Signed-off-by: Matteo Bruni mbruni@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org (cherry picked from commit 47351a609d71016f376b29aae09952d87aa0df95) Signed-off-by: Michael Stefaniuc mstefani@winehq.org
---
dlls/d3dx9_36/effect.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c index 22afa649db3..c7809bc9cca 100644 --- a/dlls/d3dx9_36/effect.c +++ b/dlls/d3dx9_36/effect.c @@ -1313,10 +1313,15 @@ static void *record_parameter(struct d3dx_effect *effect, struct d3dx_parameter
static void set_dirty(struct d3dx_parameter *param) { - struct d3dx_shared_data *shared_data; struct d3dx_top_level_parameter *top_param = param->top_level_param; - ULONG64 new_update_version = next_update_version(top_param->version_counter); + struct d3dx_shared_data *shared_data; + ULONG64 new_update_version; + + /* This is true for annotations. */ + if (!top_param) + return;
+ new_update_version = next_update_version(top_param->version_counter); if ((shared_data = top_param->shared_data)) shared_data->update_version = new_update_version; else