2017-07-06 13:15 GMT+02:00 Paul Gofman gofmanp@gmail.com:
@@ -6099,8 +6100,9 @@ static HRESULT d3dx9_parse_resource(struct d3dx9_base_effect *base, const char * { if (FAILED(hr = d3dx9_create_object(base, object))) return hr;
d3dx_create_param_eval(base, object->data, object->size, param->type,
¶m->param_eval, get_version_counter_ptr(base));
if (FAILED(hr = d3dx_create_param_eval(base, object->data, object->size, param->type,
¶m->param_eval, get_version_counter_ptr(base))))
return hr; } break;
@@ -6138,8 +6140,11 @@ static HRESULT d3dx9_parse_resource(struct d3dx9_base_effect *base, const char *
It looks like you missed another call to d3dx_create_param_eval() in between these two.
On 07/10/2017 11:47 PM, Matteo Bruni wrote:
2017-07-06 13:15 GMT+02:00 Paul Gofman gofmanp@gmail.com:
@@ -6099,8 +6100,9 @@ static HRESULT d3dx9_parse_resource(struct d3dx9_base_effect *base, const char * { if (FAILED(hr = d3dx9_create_object(base, object))) return hr;
d3dx_create_param_eval(base, object->data, object->size, param->type,
¶m->param_eval, get_version_counter_ptr(base));
if (FAILED(hr = d3dx_create_param_eval(base, object->data, object->size, param->type,
¶m->param_eval, get_version_counter_ptr(base))))
return hr; } break;
@@ -6138,8 +6140,11 @@ static HRESULT d3dx9_parse_resource(struct d3dx9_base_effect *base, const char *
It looks like you missed another call to d3dx_create_param_eval() in between these two.
I did not exactly missed them, I was adding failure return for shader constants evaluators only. Those ones missed are for FXLCs and array selectors, which I left as is following our previous convention not to deny effect creation if some parameter evaluator creation fails. Doing this the same way probably makes more sense though. I will add an error return to all parameter evaluator creation and rename the patch accordingly.