diff --git a/dlls/ole32/storage32.c b/dlls/ole32/storage32.c index 89ae657222c..18ced723077 100644 --- a/dlls/ole32/storage32.c +++ b/dlls/ole32/storage32.c @@ -1817,6 +1817,15 @@ static HRESULT WINAPI StorageImpl_DestroyElement( parentPropertyId, typeOfRelation); + /* + * Invalidate the property by zeroing its name member. + */ + propertyToDelete.sizeOfNameString = 0; + + StorageImpl_WriteProperty(This->base.ancestorStorage, + foundPropertyIndexToDelete, + &propertyToDelete); + return hr; } @@ -1936,15 +1945,6 @@ static HRESULT deleteStorageProperty( } while ((hr == S_OK) && (destroyHr == S_OK)); - /* - * Invalidate the property by zeroing its name member. - */ - propertyToDelete.sizeOfNameString = 0; - - StorageImpl_WriteProperty(parentStorage->base.ancestorStorage, - indexOfPropertyToDelete, - &propertyToDelete); - IStorage_Release(childStorage); IEnumSTATSTG_Release(elements); @@ -1993,20 +1993,6 @@ static HRESULT deleteStreamProperty( */ IStream_Release(pis); - /* - * Invalidate the property by zeroing its name member. - */ - propertyToDelete.sizeOfNameString = 0; - - /* - * Here we should re-read the property so we get the updated pointer - * but since we are here to zap it, I don't do it... - */ - StorageImpl_WriteProperty( - parentStorage->base.ancestorStorage, - indexOfPropertyToDelete, - &propertyToDelete); - return S_OK; }