wined3d: The first shader token should be the version token.
Henri Verbeet
hverbeet at codeweavers.com
Fri Apr 24 02:17:58 CDT 2009
---
dlls/wined3d/baseshader.c | 13 ++++++-------
1 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/dlls/wined3d/baseshader.c b/dlls/wined3d/baseshader.c
index 1cb5a12..a7c2a50 100644
--- a/dlls/wined3d/baseshader.c
+++ b/dlls/wined3d/baseshader.c
@@ -911,17 +911,16 @@ void shader_generate_main(IWineD3DBaseShader *iface, SHADER_BUFFER* buffer,
ins.src = src_param;
This->baseShader.parse_state.current_row = 0;
+ if (!shader_is_version_token(*pToken++))
+ {
+ ERR("First token is not a version token, invalid shader.\n");
+ return;
+ }
+
while (WINED3DPS_END() != *pToken)
{
DWORD opcode_token;
- /* Skip version token */
- if (shader_is_version_token(*pToken))
- {
- ++pToken;
- continue;
- }
-
/* Skip comment tokens */
if (shader_is_comment(*pToken))
{
--
1.6.0.6
--------------040609080601090203080902--
More information about the wine-patches
mailing list