https://git.reactos.org/?p=reactos.git;a=commitdiff;h=b980bb98c2971a9b19bc0a...
commit b980bb98c2971a9b19bc0adb25fc902fa4bdf995 Author: Amine Khaldi amine.khaldi@reactos.org AuthorDate: Fri Mar 9 13:07:30 2018 +0100 Commit: Amine Khaldi amine.khaldi@reactos.org CommitDate: Fri Mar 9 13:07:30 2018 +0100
[FUSION] Sync with Wine Staging 3.3. CORE-14434 --- dll/win32/fusion/CMakeLists.txt | 4 +-- dll/win32/fusion/asmcache.c | 71 +++++++++++++++++++++++++---------------- dll/win32/fusion/asmenum.c | 36 ++++++++++++++------- dll/win32/fusion/asmname.c | 55 +++++++++++++++++++------------ dll/win32/fusion/assembly.c | 58 +++++++++++++++++---------------- dll/win32/fusion/fusion.c | 15 ++++++++- dll/win32/fusion/fusionpriv.h | 26 +++++---------- dll/win32/fusion/precomp.h | 20 ++++++++++++ media/doc/README.WINE | 2 +- 9 files changed, 177 insertions(+), 110 deletions(-)
diff --git a/dll/win32/fusion/CMakeLists.txt b/dll/win32/fusion/CMakeLists.txt index 67613c14bf..fcaa5c23f6 100644 --- a/dll/win32/fusion/CMakeLists.txt +++ b/dll/win32/fusion/CMakeLists.txt @@ -9,7 +9,7 @@ list(APPEND COMMON_SOURCE asmname.c assembly.c fusion.c - fusionpriv.h + precomp.h ${CMAKE_CURRENT_BINARY_DIR}/fusion_stubs.c)
add_library(fusion_common STATIC ${COMMON_SOURCE}) @@ -22,7 +22,7 @@ add_library(fusion SHARED set_module_type(fusion win32dll) target_link_libraries(fusion fusion_common uuid wine) add_importlibs(fusion advapi32 dbghelp shlwapi user32 msvcrt kernel32 ntdll) -add_pch(fusion_common fusionpriv.h COMMON_SOURCE) +add_pch(fusion_common precomp.h COMMON_SOURCE) add_cd_file(TARGET fusion DESTINATION reactos/Microsoft.NET/Framework/v1.0.3705 FOR all) add_cd_file(TARGET fusion DESTINATION reactos/system32 FOR all)
diff --git a/dll/win32/fusion/asmcache.c b/dll/win32/fusion/asmcache.c index c8f389a9a0..668aa8777e 100644 --- a/dll/win32/fusion/asmcache.c +++ b/dll/win32/fusion/asmcache.c @@ -18,7 +18,28 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
+#include <stdarg.h> +#include <stdio.h> + +#define COBJMACROS + +#include "windef.h" +#include "winbase.h" +#include "winuser.h" +#include "winver.h" +#include "wincrypt.h" +#include "winreg.h" +#include "shlwapi.h" +#include "dbghelp.h" +#include "ole2.h" +#include "fusion.h" +#include "corerror.h" + #include "fusionpriv.h" +#include "wine/debug.h" +#include "wine/unicode.h" + +WINE_DEFAULT_DEBUG_CHANNEL(fusion);
typedef struct { IAssemblyCache IAssemblyCache_iface; @@ -42,9 +63,7 @@ static BOOL create_full_path(LPCWSTR path) BOOL ret = TRUE; int len;
- new_path = HeapAlloc(GetProcessHeap(), 0, (strlenW(path) + 1) * sizeof(WCHAR)); - if (!new_path) - return FALSE; + if (!(new_path = heap_alloc((strlenW(path) + 1) * sizeof(WCHAR)))) return FALSE;
strcpyW(new_path, path);
@@ -82,7 +101,7 @@ static BOOL create_full_path(LPCWSTR path) new_path[len] = '\'; }
- HeapFree(GetProcessHeap(), 0, new_path); + heap_free(new_path); return ret; }
@@ -179,7 +198,7 @@ static ULONG WINAPI IAssemblyCacheImpl_Release(IAssemblyCache *iface) if (!refCount) { CloseHandle( cache->lock ); - HeapFree( GetProcessHeap(), 0, cache ); + heap_free( cache ); } return refCount; } @@ -237,7 +256,7 @@ static HRESULT WINAPI IAssemblyCacheImpl_UninstallAssembly(IAssemblyCache *iface if (hr != HRESULT_FROM_WIN32( ERROR_INSUFFICIENT_BUFFER )) goto done;
- if (!(path = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) ))) + if (!(path = heap_alloc( len * sizeof(WCHAR) ))) { hr = E_OUTOFMEMORY; goto done; @@ -272,7 +291,7 @@ done: IAssemblyName_Release( asmname ); if (next) IAssemblyName_Release( next ); if (asmenum) IAssemblyEnum_Release( asmenum ); - HeapFree( GetProcessHeap(), 0, path ); + heap_free( path ); cache_unlock( cache ); return hr; } @@ -354,9 +373,7 @@ static HRESULT WINAPI IAssemblyCacheImpl_CreateAssemblyCacheItem(IAssemblyCache
*ppAsmItem = NULL;
- item = HeapAlloc(GetProcessHeap(), 0, sizeof(IAssemblyCacheItemImpl)); - if (!item) - return E_OUTOFMEMORY; + if (!(item = heap_alloc(sizeof(*item)))) return E_OUTOFMEMORY;
item->IAssemblyCacheItem_iface.lpVtbl = &AssemblyCacheItemVtbl; item->ref = 1; @@ -379,22 +396,22 @@ static HRESULT copy_file( const WCHAR *src_dir, DWORD src_len, const WCHAR *dst_ DWORD len = strlenW( filename ); HRESULT hr = S_OK;
- if (!(src_file = HeapAlloc( GetProcessHeap(), 0, (src_len + len + 1) * sizeof(WCHAR) ))) + if (!(src_file = heap_alloc( (src_len + len + 1) * sizeof(WCHAR) ))) return E_OUTOFMEMORY; memcpy( src_file, src_dir, src_len * sizeof(WCHAR) ); strcpyW( src_file + src_len, filename );
- if (!(dst_file = HeapAlloc( GetProcessHeap(), 0, (dst_len + len + 1) * sizeof(WCHAR) ))) + if (!(dst_file = heap_alloc( (dst_len + len + 1) * sizeof(WCHAR) ))) { - HeapFree( GetProcessHeap(), 0, src_file ); + heap_free( src_file ); return E_OUTOFMEMORY; } memcpy( dst_file, dst_dir, dst_len * sizeof(WCHAR) ); strcpyW( dst_file + dst_len, filename );
if (!CopyFileW( src_file, dst_file, FALSE )) hr = HRESULT_FROM_WIN32( GetLastError() ); - HeapFree( GetProcessHeap(), 0, src_file ); - HeapFree( GetProcessHeap(), 0, dst_file ); + heap_free( src_file ); + heap_free( dst_file ); return hr; }
@@ -467,7 +484,7 @@ static HRESULT WINAPI IAssemblyCacheImpl_InstallAssembly(IAssemblyCache *iface, get_assembly_directory(asmdir, MAX_PATH, clr_version, architecture);
dst_len += strlenW(asmdir) + strlenW(name) + strlenW(version) + strlenW(token); - if (!(dst_dir = HeapAlloc(GetProcessHeap(), 0, dst_len * sizeof(WCHAR)))) + if (!(dst_dir = heap_alloc(dst_len * sizeof(WCHAR)))) { hr = E_OUTOFMEMORY; goto done; @@ -507,13 +524,13 @@ static HRESULT WINAPI IAssemblyCacheImpl_InstallAssembly(IAssemblyCache *iface, }
done: - HeapFree(GetProcessHeap(), 0, name); - HeapFree(GetProcessHeap(), 0, token); - HeapFree(GetProcessHeap(), 0, version); - HeapFree(GetProcessHeap(), 0, asmpath); - HeapFree(GetProcessHeap(), 0, dst_dir); - for (i = 0; i < count; i++) HeapFree(GetProcessHeap(), 0, external_files[i]); - HeapFree(GetProcessHeap(), 0, external_files); + heap_free(name); + heap_free(token); + heap_free(version); + heap_free(asmpath); + heap_free(dst_dir); + for (i = 0; i < count; i++) heap_free(external_files[i]); + heap_free(external_files); assembly_release(assembly); cache_unlock( cache ); return hr; @@ -544,16 +561,14 @@ HRESULT WINAPI CreateAssemblyCache(IAssemblyCache **ppAsmCache, DWORD dwReserved
*ppAsmCache = NULL;
- cache = HeapAlloc(GetProcessHeap(), 0, sizeof(IAssemblyCacheImpl)); - if (!cache) - return E_OUTOFMEMORY; + if (!(cache = heap_alloc(sizeof(*cache)))) return E_OUTOFMEMORY;
cache->IAssemblyCache_iface.lpVtbl = &AssemblyCacheVtbl; cache->ref = 1; cache->lock = CreateMutexW( NULL, FALSE, cache_mutex_nameW ); if (!cache->lock) { - HeapFree( GetProcessHeap(), 0, cache ); + heap_free( cache ); return HRESULT_FROM_WIN32( GetLastError() ); } *ppAsmCache = &cache->IAssemblyCache_iface; @@ -606,7 +621,7 @@ static ULONG WINAPI IAssemblyCacheItemImpl_Release(IAssemblyCacheItem *iface) TRACE("(%p)->(ref before = %u)\n", This, refCount + 1);
if (!refCount) - HeapFree(GetProcessHeap(), 0, This); + heap_free(This);
return refCount; } diff --git a/dll/win32/fusion/asmenum.c b/dll/win32/fusion/asmenum.c index 4a87768e16..ba86818a2c 100644 --- a/dll/win32/fusion/asmenum.c +++ b/dll/win32/fusion/asmenum.c @@ -18,9 +18,26 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
+#include <stdarg.h> + +#define COBJMACROS +#define NONAMELESSUNION +#define NONAMELESSSTRUCT + +#include "windef.h" +#include "winbase.h" +#include "winuser.h" +#include "ole2.h" +#include "guiddef.h" +#include "fusion.h" +#include "corerror.h" #include "fusionpriv.h"
-#include <wine/list.h> +#include "wine/debug.h" +#include "wine/unicode.h" +#include "wine/list.h" + +WINE_DEFAULT_DEBUG_CHANNEL(fusion);
typedef struct _tagASMNAME { @@ -89,10 +106,10 @@ static ULONG WINAPI IAssemblyEnumImpl_Release(IAssemblyEnum *iface)
list_remove(&asmname->entry); IAssemblyName_Release(asmname->name); - HeapFree(GetProcessHeap(), 0, asmname); + heap_free(asmname); }
- HeapFree(GetProcessHeap(), 0, This); + heap_free(This); }
return refCount; @@ -338,8 +355,7 @@ static HRESULT enum_gac_assemblies(struct list *assemblies, IAssemblyName *name, } sprintfW(disp, name_fmt, parent, version, token);
- asmname = HeapAlloc(GetProcessHeap(), 0, sizeof(ASMNAME)); - if (!asmname) + if (!(asmname = heap_alloc(sizeof(*asmname)))) { hr = E_OUTOFMEMORY; break; @@ -349,7 +365,7 @@ static HRESULT enum_gac_assemblies(struct list *assemblies, IAssemblyName *name, CANOF_PARSE_DISPLAY_NAME, NULL); if (FAILED(hr)) { - HeapFree(GetProcessHeap(), 0, asmname); + heap_free(asmname); break; }
@@ -357,7 +373,7 @@ static HRESULT enum_gac_assemblies(struct list *assemblies, IAssemblyName *name, if (FAILED(hr)) { IAssemblyName_Release(asmname->name); - HeapFree(GetProcessHeap(), 0, asmname); + heap_free(asmname); break; }
@@ -460,9 +476,7 @@ HRESULT WINAPI CreateAssemblyEnum(IAssemblyEnum **pEnum, IUnknown *pUnkReserved, if (dwFlags == 0 || dwFlags == ASM_CACHE_ROOT) return E_INVALIDARG;
- asmenum = HeapAlloc(GetProcessHeap(), 0, sizeof(IAssemblyEnumImpl)); - if (!asmenum) - return E_OUTOFMEMORY; + if (!(asmenum = heap_alloc(sizeof(*asmenum)))) return E_OUTOFMEMORY;
asmenum->IAssemblyEnum_iface.lpVtbl = &AssemblyEnumVtbl; asmenum->ref = 1; @@ -473,7 +487,7 @@ HRESULT WINAPI CreateAssemblyEnum(IAssemblyEnum **pEnum, IUnknown *pUnkReserved, hr = enumerate_gac(asmenum, pName); if (FAILED(hr)) { - HeapFree(GetProcessHeap(), 0, asmenum); + heap_free(asmenum); return hr; } } diff --git a/dll/win32/fusion/asmname.c b/dll/win32/fusion/asmname.c index 79a99f5bc0..c5d07009a3 100644 --- a/dll/win32/fusion/asmname.c +++ b/dll/win32/fusion/asmname.c @@ -18,11 +18,26 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
+#include <stdarg.h> +#include <assert.h> + +#define COBJMACROS +#define INITGUID + +#include "windef.h" +#include "winbase.h" +#include "winuser.h" +#include "ole2.h" +#include "guiddef.h" +#include "fusion.h" +#include "corerror.h" +#include "strsafe.h" + +#include "wine/debug.h" +#include "wine/unicode.h" #include "fusionpriv.h"
-#include <assert.h> -#include <winuser.h> -#include <strsafe.h> +WINE_DEFAULT_DEBUG_CHANNEL(fusion);
typedef struct { IAssemblyName IAssemblyName_iface; @@ -100,12 +115,12 @@ static ULONG WINAPI IAssemblyNameImpl_Release(IAssemblyName *iface)
if (!refCount) { - HeapFree(GetProcessHeap(), 0, This->path); - HeapFree(GetProcessHeap(), 0, This->displayname); - HeapFree(GetProcessHeap(), 0, This->name); - HeapFree(GetProcessHeap(), 0, This->culture); - HeapFree(GetProcessHeap(), 0, This->procarch); - HeapFree(GetProcessHeap(), 0, This); + heap_free(This->path); + heap_free(This->displayname); + heap_free(This->name); + heap_free(This->culture); + heap_free(This->procarch); + heap_free(This); }
return refCount; @@ -648,7 +663,7 @@ static WCHAR *parse_value( const WCHAR *str, unsigned int len ) BOOL quoted = FALSE; unsigned int i = 0;
- if (!(ret = HeapAlloc( GetProcessHeap(), 0, (len + 1) * sizeof(WCHAR) ))) return NULL; + if (!(ret = heap_alloc( (len + 1) * sizeof(WCHAR) ))) return NULL; if (*p == '"') { quoted = TRUE; @@ -657,7 +672,7 @@ static WCHAR *parse_value( const WCHAR *str, unsigned int len ) while (*p && *p != '"') ret[i++] = *p++; if ((quoted && *p != '"') || (!quoted && *p == '"')) { - HeapFree( GetProcessHeap(), 0, ret ); + heap_free( ret ); return NULL; } ret[i] = 0; @@ -754,7 +769,7 @@ static HRESULT parse_display_name(IAssemblyNameImpl *name, LPCWSTR szAssemblyNam
hr = parse_procarch( name, name->procarch ); } - HeapFree( GetProcessHeap(), 0, value ); + heap_free( value );
if (FAILED(hr)) goto done; @@ -763,13 +778,13 @@ static HRESULT parse_display_name(IAssemblyNameImpl *name, LPCWSTR szAssemblyNam }
done: - HeapFree(GetProcessHeap(), 0, save); + heap_free(save); if (FAILED(hr)) { - HeapFree(GetProcessHeap(), 0, name->displayname); - HeapFree(GetProcessHeap(), 0, name->name); - HeapFree(GetProcessHeap(), 0, name->culture); - HeapFree(GetProcessHeap(), 0, name->procarch); + heap_free(name->displayname); + heap_free(name->name); + heap_free(name->culture); + heap_free(name->procarch); } return hr; } @@ -794,9 +809,7 @@ HRESULT WINAPI CreateAssemblyNameObject(IAssemblyName **ppAssemblyNameObj, (!szAssemblyName || !*szAssemblyName)) return E_INVALIDARG;
- name = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IAssemblyNameImpl)); - if (!name) - return E_OUTOFMEMORY; + if (!(name = heap_alloc_zero(sizeof(*name)))) return E_OUTOFMEMORY;
name->IAssemblyName_iface.lpVtbl = &AssemblyNameVtbl; name->ref = 1; @@ -804,7 +817,7 @@ HRESULT WINAPI CreateAssemblyNameObject(IAssemblyName **ppAssemblyNameObj, hr = parse_display_name(name, szAssemblyName); if (FAILED(hr)) { - HeapFree(GetProcessHeap(), 0, name); + heap_free(name); return hr; }
diff --git a/dll/win32/fusion/assembly.c b/dll/win32/fusion/assembly.c index 1159d9612a..ec380ef442 100644 --- a/dll/win32/fusion/assembly.c +++ b/dll/win32/fusion/assembly.c @@ -18,11 +18,22 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
-#include "fusionpriv.h" +#include <stdarg.h> +#include <stdio.h> + +#include "windef.h" +#include "winbase.h" +#include "winuser.h" +#include "winver.h" +#include "wincrypt.h" +#include "dbghelp.h" +#include "ole2.h" +#include "fusion.h" +#include "corhdr.h"
-#include <wincrypt.h> -#include <dbghelp.h> -#include <corhdr.h> +#include "fusionpriv.h" +#include "wine/debug.h" +#include "wine/unicode.h"
#define TableFromToken(tk) (TypeFromToken(tk) >> 24) #define TokenFromTable(idx) (idx << 24) @@ -528,9 +539,7 @@ static HRESULT parse_metadata_header(ASSEMBLY *assembly, DWORD *hdrsz)
metadatahdr = (METADATAHDR *)ptr;
- assembly->metadatahdr = HeapAlloc(GetProcessHeap(), 0, sizeof(METADATAHDR)); - if (!assembly->metadatahdr) - return E_OUTOFMEMORY; + if (!(assembly->metadatahdr = heap_alloc(sizeof(*assembly->metadatahdr)))) return E_OUTOFMEMORY;
size = FIELD_OFFSET(METADATAHDR, Version); memcpy(assembly->metadatahdr, metadatahdr, size); @@ -635,9 +644,7 @@ HRESULT assembly_create(ASSEMBLY **out, LPCWSTR file)
*out = NULL;
- assembly = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(ASSEMBLY)); - if (!assembly) - return E_OUTOFMEMORY; + if (!(assembly = heap_alloc_zero(sizeof(*assembly)))) return E_OUTOFMEMORY;
assembly->path = strdupW(file); if (!assembly->path) @@ -688,12 +695,12 @@ HRESULT assembly_release(ASSEMBLY *assembly) if (!assembly) return S_OK;
- HeapFree(GetProcessHeap(), 0, assembly->metadatahdr); - HeapFree(GetProcessHeap(), 0, assembly->path); + heap_free(assembly->metadatahdr); + heap_free(assembly->path); UnmapViewOfFile(assembly->data); CloseHandle(assembly->hmap); CloseHandle(assembly->hfile); - HeapFree(GetProcessHeap(), 0, assembly); + heap_free(assembly);
return S_OK; } @@ -706,8 +713,8 @@ static LPWSTR assembly_dup_str(const ASSEMBLY *assembly, DWORD index)
len = MultiByteToWideChar(CP_ACP, 0, str, -1, NULL, 0);
- if ((cpy = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR)))) - MultiByteToWideChar(CP_ACP, 0, str, -1, cpy, len); + if ((cpy = heap_alloc(len * sizeof(WCHAR)))) + MultiByteToWideChar(CP_ACP, 0, str, -1, cpy, len);
return cpy; } @@ -741,7 +748,7 @@ HRESULT assembly_get_name(ASSEMBLY *assembly, LPWSTR *name)
HRESULT assembly_get_path(const ASSEMBLY *assembly, LPWSTR *path) { - LPWSTR cpy = HeapAlloc(GetProcessHeap(), 0, (strlenW(assembly->path) + 1) * sizeof(WCHAR)); + WCHAR *cpy = heap_alloc((strlenW(assembly->path) + 1) * sizeof(WCHAR)); *path = cpy; if (cpy) strcpyW(cpy, assembly->path); @@ -768,8 +775,7 @@ HRESULT assembly_get_version(ASSEMBLY *assembly, LPWSTR *version) if (!asmtbl) return E_FAIL;
- *version = HeapAlloc(GetProcessHeap(), 0, sizeof(format) + 4 * strlen("65535") * sizeof(WCHAR)); - if (!*version) + if (!(*version = heap_alloc(sizeof(format) + 4 * strlen("65535") * sizeof(WCHAR)))) return E_OUTOFMEMORY;
sprintfW(*version, format, asmtbl->MajorVersion, asmtbl->MinorVersion, @@ -841,8 +847,7 @@ HRESULT assembly_get_pubkey_token(ASSEMBLY *assembly, LPWSTR *token) if (!CryptGetHashParam(hash, HP_HASHVAL, NULL, &size, 0)) return E_FAIL;
- hashdata = HeapAlloc(GetProcessHeap(), 0, size); - if (!hashdata) + if (!(hashdata = heap_alloc(size))) { hr = E_OUTOFMEMORY; goto done; @@ -854,8 +859,7 @@ HRESULT assembly_get_pubkey_token(ASSEMBLY *assembly, LPWSTR *token) for (i = size - 1; i >= size - 8; i--) tokbytes[size - i - 1] = hashdata[i];
- tok = HeapAlloc(GetProcessHeap(), 0, (TOKEN_LENGTH + 1) * sizeof(WCHAR)); - if (!tok) + if (!(tok = heap_alloc((TOKEN_LENGTH + 1) * sizeof(WCHAR)))) { hr = E_OUTOFMEMORY; goto done; @@ -867,7 +871,7 @@ HRESULT assembly_get_pubkey_token(ASSEMBLY *assembly, LPWSTR *token) hr = S_OK;
done: - HeapFree(GetProcessHeap(), 0, hashdata); + heap_free(hashdata); CryptDestroyHash(hash); CryptReleaseContext(crypt, 0);
@@ -902,9 +906,7 @@ HRESULT assembly_get_external_files(ASSEMBLY *assembly, LPWSTR **files, DWORD *c if (num_rows <= 0) return S_OK;
- ret = HeapAlloc(GetProcessHeap(), 0, num_rows * sizeof(WCHAR *)); - if (!ret) - return E_OUTOFMEMORY; + if (!(ret = heap_alloc(num_rows * sizeof(WCHAR *)))) return E_OUTOFMEMORY;
for (i = 0; i < num_rows; i++) { @@ -917,8 +919,8 @@ HRESULT assembly_get_external_files(ASSEMBLY *assembly, LPWSTR **files, DWORD *c ret[i] = assembly_dup_str(assembly, idx); if (!ret[i]) { - for (; i >= 0; i--) HeapFree(GetProcessHeap(), 0, ret[i]); - HeapFree(GetProcessHeap(), 0, ret); + for (; i >= 0; i--) heap_free(ret[i]); + heap_free(ret); return E_OUTOFMEMORY; } ptr += assembly->stringsz; /* skip Name field */ diff --git a/dll/win32/fusion/fusion.c b/dll/win32/fusion/fusion.c index a51f40660d..b038b38092 100644 --- a/dll/win32/fusion/fusion.c +++ b/dll/win32/fusion/fusion.c @@ -18,7 +18,20 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
-#include "fusionpriv.h" +#include <stdarg.h> + +#define COBJMACROS + +#include "windef.h" +#include "winbase.h" +#include "winuser.h" +#include "ole2.h" +#include "fusion.h" +#include "wine/debug.h" +#include "wine/unicode.h" + +WINE_DEFAULT_DEBUG_CHANNEL(fusion); +
/****************************************************************** * InitializeFusion (FUSION.@) diff --git a/dll/win32/fusion/fusionpriv.h b/dll/win32/fusion/fusionpriv.h index 2a61e4f476..24c932d156 100644 --- a/dll/win32/fusion/fusionpriv.h +++ b/dll/win32/fusion/fusionpriv.h @@ -23,25 +23,16 @@
#include <stdarg.h>
-#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H +#include "windef.h" +#include "winbase.h" +#include "winuser.h" +#include "winver.h" +#include "wine/heap.h"
-#define COBJMACROS -#define NONAMELESSUNION -#define NONAMELESSSTRUCT - -#include <windef.h> -#include <winbase.h> -#include <winver.h> +#ifdef __REACTOS__ #include <objbase.h> #include <fusion.h> -#include <corerror.h> - -#include <wine/unicode.h> - -#include <wine/debug.h> -WINE_DEFAULT_DEBUG_CHANNEL(fusion); +#endif
#include <pshpack1.h>
@@ -463,8 +454,7 @@ static inline LPWSTR strdupW(LPCWSTR src) if (!src) return NULL;
- dest = HeapAlloc(GetProcessHeap(), 0, (lstrlenW(src) + 1) * sizeof(WCHAR)); - if (dest) + if ((dest = heap_alloc((lstrlenW(src) + 1) * sizeof(WCHAR)))) lstrcpyW(dest, src);
return dest; diff --git a/dll/win32/fusion/precomp.h b/dll/win32/fusion/precomp.h new file mode 100644 index 0000000000..de2c9a84b0 --- /dev/null +++ b/dll/win32/fusion/precomp.h @@ -0,0 +1,20 @@ + +#ifndef _WINE_FUSION_PRECOMP_H_ +#define _WINE_FUSION_PRECOMP_H_ + +#define WIN32_NO_STATUS +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H + +#define COBJMACROS +#define NONAMELESSUNION +#define NONAMELESSSTRUCT + +#include "fusionpriv.h" + +#include <corerror.h> + +#include <wine/unicode.h> +#include <wine/debug.h> + +#endif /* !_WINE_FUSION_PRECOMP_H_ */ diff --git a/media/doc/README.WINE b/media/doc/README.WINE index 4fde5a92a4..aee3bad39e 100644 --- a/media/doc/README.WINE +++ b/media/doc/README.WINE @@ -67,7 +67,7 @@ reactos/dll/win32/dbghelp # Synced to WineStaging-3.3 reactos/dll/win32/dciman32 # Synced to WineStaging-3.3 reactos/dll/win32/faultrep # Synced to WineStaging-2.9 reactos/dll/win32/fontsub # Synced to WineStaging-2.9 -reactos/dll/win32/fusion # Synced to Wine-3.0 +reactos/dll/win32/fusion # Synced to WineStaging-3.3 reactos/dll/win32/gdiplus # Synced to Wine-3.0 reactos/dll/win32/hhctrl.ocx # Synced to Wine-3.0 reactos/dll/win32/hlink # Synced to Wine-3.0