Module: wine Branch: master Commit: f97e12de40295719e9b6eeed1d10007d8d01293c URL: https://gitlab.winehq.org/wine/wine/-/commit/f97e12de40295719e9b6eeed1d10007...
Author: Danyil Blyschak dblyschak@codeweavers.com Date: Thu Apr 18 10:33:18 2024 -0500
mfreadwrite: Store result of object activation in stream transform.
In source_reader_create_transform(), store the result of IMFActivate_ActivateObject() so that in the event of failure, resources are freed and an appropriate HRESULT is returned.
Previously, if every object's activation failed, the last part of the function was not aware of this.
---
dlls/mfreadwrite/reader.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/mfreadwrite/reader.c b/dlls/mfreadwrite/reader.c index 11eac81d2ca..96bb316ac85 100644 --- a/dlls/mfreadwrite/reader.c +++ b/dlls/mfreadwrite/reader.c @@ -2011,7 +2011,7 @@ static HRESULT source_reader_create_transform(struct source_reader *reader, BOOL { IMFMediaType *media_type;
- if (FAILED(IMFActivate_ActivateObject(activates[i], &IID_IMFTransform, (void **)&transform))) + if (FAILED(hr = IMFActivate_ActivateObject(activates[i], &IID_IMFTransform, (void **)&transform))) continue; if (SUCCEEDED(hr = IMFTransform_SetInputType(transform, 0, input_type, 0)) && SUCCEEDED(hr = IMFTransform_GetInputCurrentType(transform, 0, &media_type)))