[PATCH 1/5] d3dcompiler: Avoid "naked" vars in record dereferences.

Matteo Bruni mbruni at codeweavers.com
Thu Oct 11 12:48:45 CDT 2012


---
 dlls/d3dcompiler_43/utils.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/dlls/d3dcompiler_43/utils.c b/dlls/d3dcompiler_43/utils.c
index eca67c9..5bd39e8 100644
--- a/dlls/d3dcompiler_43/utils.c
+++ b/dlls/d3dcompiler_43/utils.c
@@ -1568,7 +1568,10 @@ struct hlsl_ir_deref *new_record_deref(struct hlsl_ir_node *record, struct hlsl_
     deref->node.type = HLSL_IR_DEREF;
     deref->node.data_type = field->type;
     deref->type = HLSL_IR_DEREF_RECORD;
-    deref->v.record.record = record;
+    if (record->type == HLSL_IR_VAR)
+        deref->v.record.record = &new_var_deref(var_from_node(record))->node;
+    else
+        deref->v.record.record = record;
     deref->v.record.field = field;
     return deref;
 }
-- 
1.7.8.6




More information about the wine-patches mailing list