Matteo Bruni : d3dcompiler: Clear preprocessor lexer state after running it.
Alexandre Julliard
julliard at winehq.org
Wed Sep 8 15:12:39 CDT 2021
Module: wine
Branch: master
Commit: 450d435306dae98d86e99bf894a2b14d30395e1e
URL: https://source.winehq.org/git/wine.git/?a=commit;h=450d435306dae98d86e99bf894a2b14d30395e1e
Author: Matteo Bruni <mbruni at codeweavers.com>
Date: Wed Sep 8 12:49:02 2021 +0200
d3dcompiler: Clear preprocessor lexer state after running it.
Otherwise state might leak to the next preprocessed shader.
Signed-off-by: Matteo Bruni <mbruni at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/d3dcompiler_43/compiler.c | 1 +
dlls/d3dcompiler_43/wpp_private.h | 1 +
2 files changed, 2 insertions(+)
diff --git a/dlls/d3dcompiler_43/compiler.c b/dlls/d3dcompiler_43/compiler.c
index d4523edb99c..b75a1d0a6a5 100644
--- a/dlls/d3dcompiler_43/compiler.c
+++ b/dlls/d3dcompiler_43/compiler.c
@@ -475,6 +475,7 @@ int wpp_parse( const char *input, FILE *output )
}
/* Clean if_stack, it could remain dirty on errors */
while (pp_get_if_depth()) pp_pop_if();
+ ppy_lex_destroy();
del_special_defines();
del_cmdline_defines();
pp_pop_define_state();
diff --git a/dlls/d3dcompiler_43/wpp_private.h b/dlls/d3dcompiler_43/wpp_private.h
index 325c7f1e510..3b6d947d8a8 100644
--- a/dlls/d3dcompiler_43/wpp_private.h
+++ b/dlls/d3dcompiler_43/wpp_private.h
@@ -235,6 +235,7 @@ extern includelogicentry_t *pp_includelogiclist;
extern FILE *ppy_out;
extern char *ppy_text;
int ppy_lex(void);
+int ppy_lex_destroy(void);
void pp_do_include(char *fname, int type);
void pp_push_ignore_state(void);
More information about the wine-cvs
mailing list