mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-06 08:54:05 +00:00
xactengine3_7: Return error on invalid notification value.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
This commit is contained in:
parent
d1c08b1714
commit
e43288348d
|
@ -208,6 +208,24 @@ static void test_notifications(void)
|
||||||
hr = IXACT3Engine_Initialize(engine, ¶ms);
|
hr = IXACT3Engine_Initialize(engine, ¶ms);
|
||||||
ok(hr == S_OK, "Cannot initialize engine, hr %#lx\n", hr);
|
ok(hr == S_OK, "Cannot initialize engine, hr %#lx\n", hr);
|
||||||
|
|
||||||
|
notification_desc.type = 0;
|
||||||
|
notification_desc.flags = 0;
|
||||||
|
notification_desc.pvContext = &prepared_data;
|
||||||
|
hr = IXACT3Engine_RegisterNotification(engine, ¬ification_desc);
|
||||||
|
ok(hr == E_INVALIDARG, "got hr %#lx\n", hr);
|
||||||
|
|
||||||
|
hr = IXACT3Engine_UnRegisterNotification(engine, ¬ification_desc);
|
||||||
|
ok(hr == S_OK, "got hr %#lx\n", hr);
|
||||||
|
|
||||||
|
notification_desc.type = XACTNOTIFICATIONTYPE_WAVEBANKSTREAMING_INVALIDCONTENT + 1;
|
||||||
|
notification_desc.flags = 0;
|
||||||
|
notification_desc.pvContext = &prepared_data;
|
||||||
|
hr = IXACT3Engine_RegisterNotification(engine, ¬ification_desc);
|
||||||
|
ok(hr == E_INVALIDARG, "got hr %#lx\n", hr);
|
||||||
|
|
||||||
|
hr = IXACT3Engine_UnRegisterNotification(engine, ¬ification_desc);
|
||||||
|
ok(hr == S_OK, "got hr %#lx\n", hr);
|
||||||
|
|
||||||
prepared_data.type = XACTNOTIFICATIONTYPE_WAVEBANKPREPARED;
|
prepared_data.type = XACTNOTIFICATIONTYPE_WAVEBANKPREPARED;
|
||||||
prepared_data.thread_id = GetCurrentThreadId();
|
prepared_data.thread_id = GetCurrentThreadId();
|
||||||
notification_desc.type = XACTNOTIFICATIONTYPE_WAVEBANKPREPARED;
|
notification_desc.type = XACTNOTIFICATIONTYPE_WAVEBANKPREPARED;
|
||||||
|
|
|
@ -1517,6 +1517,10 @@ static HRESULT WINAPI IXACT3EngineImpl_RegisterNotification(IXACT3Engine *iface,
|
||||||
|
|
||||||
TRACE("(%p)->(%p)\n", This, pNotificationDesc);
|
TRACE("(%p)->(%p)\n", This, pNotificationDesc);
|
||||||
|
|
||||||
|
if (pNotificationDesc->type < XACTNOTIFICATIONTYPE_CUEPREPARED ||
|
||||||
|
pNotificationDesc->type > XACTNOTIFICATIONTYPE_WAVEBANKSTREAMING_INVALIDCONTENT)
|
||||||
|
return E_INVALIDARG;
|
||||||
|
|
||||||
unwrap_notificationdesc(&fdesc, pNotificationDesc);
|
unwrap_notificationdesc(&fdesc, pNotificationDesc);
|
||||||
This->contexts[pNotificationDesc->type] = pNotificationDesc->pvContext;
|
This->contexts[pNotificationDesc->type] = pNotificationDesc->pvContext;
|
||||||
fdesc.pvContext = This;
|
fdesc.pvContext = This;
|
||||||
|
@ -1531,6 +1535,10 @@ static HRESULT WINAPI IXACT3EngineImpl_UnRegisterNotification(IXACT3Engine *ifac
|
||||||
|
|
||||||
TRACE("(%p)->(%p)\n", This, pNotificationDesc);
|
TRACE("(%p)->(%p)\n", This, pNotificationDesc);
|
||||||
|
|
||||||
|
if (pNotificationDesc->type < XACTNOTIFICATIONTYPE_CUEPREPARED ||
|
||||||
|
pNotificationDesc->type > XACTNOTIFICATIONTYPE_WAVEBANKSTREAMING_INVALIDCONTENT)
|
||||||
|
return S_OK;
|
||||||
|
|
||||||
unwrap_notificationdesc(&fdesc, pNotificationDesc);
|
unwrap_notificationdesc(&fdesc, pNotificationDesc);
|
||||||
fdesc.pvContext = This;
|
fdesc.pvContext = This;
|
||||||
return FACTAudioEngine_UnRegisterNotification(This->fact_engine, &fdesc);
|
return FACTAudioEngine_UnRegisterNotification(This->fact_engine, &fdesc);
|
||||||
|
|
Loading…
Reference in a new issue