Commit 8f513e35 authored by Robert Shearman's avatar Robert Shearman Committed by Alexandre Julliard

ole32: When comparing monikers use the abData field of MInterfacePointer

as ulCntData doesn't include the size of its own field.
parent f589ec80
...@@ -448,7 +448,7 @@ RunningObjectTableImpl_IsRunning( IRunningObjectTable* iface, IMoniker *pmkObjec ...@@ -448,7 +448,7 @@ RunningObjectTableImpl_IsRunning( IRunningObjectTable* iface, IMoniker *pmkObjec
LIST_FOR_EACH_ENTRY(rot_entry, &This->rot, struct rot_entry, entry) LIST_FOR_EACH_ENTRY(rot_entry, &This->rot, struct rot_entry, entry)
{ {
if ((rot_entry->moniker_data->ulCntData == moniker_data->ulCntData) && if ((rot_entry->moniker_data->ulCntData == moniker_data->ulCntData) &&
!memcmp(moniker_data, rot_entry->moniker_data, moniker_data->ulCntData)) !memcmp(&moniker_data->abData, &rot_entry->moniker_data->abData, moniker_data->ulCntData))
{ {
hr = S_OK; hr = S_OK;
break; break;
...@@ -494,7 +494,7 @@ RunningObjectTableImpl_GetObject( IRunningObjectTable* iface, ...@@ -494,7 +494,7 @@ RunningObjectTableImpl_GetObject( IRunningObjectTable* iface,
LIST_FOR_EACH_ENTRY(rot_entry, &This->rot, struct rot_entry, entry) LIST_FOR_EACH_ENTRY(rot_entry, &This->rot, struct rot_entry, entry)
{ {
if ((rot_entry->moniker_data->ulCntData == moniker_data->ulCntData) && if ((rot_entry->moniker_data->ulCntData == moniker_data->ulCntData) &&
!memcmp(moniker_data, rot_entry->moniker_data, moniker_data->ulCntData)) !memcmp(&moniker_data->abData, &rot_entry->moniker_data->abData, moniker_data->ulCntData))
{ {
IStream *pStream; IStream *pStream;
hr = create_stream_on_mip_ro(rot_entry->object, &pStream); hr = create_stream_on_mip_ro(rot_entry->object, &pStream);
...@@ -585,7 +585,7 @@ RunningObjectTableImpl_GetTimeOfLastChange(IRunningObjectTable* iface, ...@@ -585,7 +585,7 @@ RunningObjectTableImpl_GetTimeOfLastChange(IRunningObjectTable* iface,
LIST_FOR_EACH_ENTRY(rot_entry, &This->rot, struct rot_entry, entry) LIST_FOR_EACH_ENTRY(rot_entry, &This->rot, struct rot_entry, entry)
{ {
if ((rot_entry->moniker_data->ulCntData == moniker_data->ulCntData) && if ((rot_entry->moniker_data->ulCntData == moniker_data->ulCntData) &&
!memcmp(moniker_data, rot_entry->moniker_data, moniker_data->ulCntData)) !memcmp(&moniker_data->abData, &rot_entry->moniker_data->abData, moniker_data->ulCntData))
{ {
*pfiletime = rot_entry->last_modified; *pfiletime = rot_entry->last_modified;
hr = S_OK; hr = S_OK;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment