Huw Davies : ole32: Store the creation flag - STGM_SIMPLE depends on this.
Alexandre Julliard
julliard at winehq.org
Tue Jun 2 08:44:30 CDT 2009
Module: wine
Branch: master
Commit: 0faf155887b704b82d23a58c91dbf6578c1335ae
URL: http://source.winehq.org/git/wine.git/?a=commit;h=0faf155887b704b82d23a58c91dbf6578c1335ae
Author: Huw Davies <huw at codeweavers.com>
Date: Fri May 29 17:14:41 2009 +0100
ole32: Store the creation flag - STGM_SIMPLE depends on this.
---
dlls/ole32/storage32.c | 14 +-------------
dlls/ole32/storage32.h | 2 ++
2 files changed, 3 insertions(+), 13 deletions(-)
diff --git a/dlls/ole32/storage32.c b/dlls/ole32/storage32.c
index 91f1f36..670d751 100644
--- a/dlls/ole32/storage32.c
+++ b/dlls/ole32/storage32.c
@@ -2407,19 +2407,13 @@ static HRESULT StorageImpl_Construct(
memset(This, 0, sizeof(StorageImpl));
- /*
- * Initialize stream list
- */
-
list_init(&This->base.strmHead);
- /*
- * Initialize the virtual function table.
- */
This->base.lpVtbl = &Storage32Impl_Vtbl;
This->base.pssVtbl = &IPropertySetStorage_Vtbl;
This->base.v_destructor = StorageImpl_Destroy;
This->base.openFlags = (openFlags & ~STGM_CREATE);
+ This->create = create;
/*
* This is the top-level storage so initialize the ancestor pointer
@@ -2427,14 +2421,8 @@ static HRESULT StorageImpl_Construct(
*/
This->base.ancestorStorage = This;
- /*
- * Initialize the physical support of the storage.
- */
This->hFile = hFile;
- /*
- * Store copy of file path.
- */
if(pwcsName) {
This->pwcsName = HeapAlloc(GetProcessHeap(), 0,
(lstrlenW(pwcsName)+1)*sizeof(WCHAR));
diff --git a/dlls/ole32/storage32.h b/dlls/ole32/storage32.h
index 1e42afb..4be0631 100644
--- a/dlls/ole32/storage32.h
+++ b/dlls/ole32/storage32.h
@@ -255,6 +255,8 @@ struct StorageImpl
*/
HANDLE hFile; /* Physical support for the Docfile */
LPOLESTR pwcsName; /* Full path of the document file */
+ BOOL create; /* Was the storage created or opened.
+ The behaviour of STGM_SIMPLE depends on this */
/* FIXME: should this be in Storage32BaseImpl ? */
WCHAR filename[PROPERTY_NAME_BUFFER_LEN];
More information about the wine-cvs
mailing list