Author: akhaldi Date: Mon Nov 23 09:51:23 2015 New Revision: 70065
URL: http://svn.reactos.org/svn/reactos?rev=70065&view=rev Log: [WINDOWSCODECS] Sync with Wine Staging 1.7.55. CORE-10536
Modified: trunk/reactos/dll/win32/windowscodecs/CMakeLists.txt trunk/reactos/dll/win32/windowscodecs/gifformat.c trunk/reactos/dll/win32/windowscodecs/regsvr.c trunk/reactos/dll/win32/windowscodecs/tiffformat.c trunk/reactos/dll/win32/windowscodecs/ungif.c trunk/reactos/media/doc/README.WINE
Modified: trunk/reactos/dll/win32/windowscodecs/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/windowscodecs/CMa... ============================================================================== --- trunk/reactos/dll/win32/windowscodecs/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/dll/win32/windowscodecs/CMakeLists.txt [iso-8859-1] Mon Nov 23 09:51:23 2015 @@ -63,6 +63,6 @@
set_module_type(windowscodecs win32dll) target_link_libraries(windowscodecs wine uuid ${PSEH_LIB}) -add_importlibs(windowscodecs ole32 oleaut32 rpcrt4 shlwapi user32 gdi32 advapi32 msvcrt kernel32 ntdll) +add_importlibs(windowscodecs ole32 oleaut32 rpcrt4 shlwapi user32 gdi32 advapi32 advapi32_vista msvcrt kernel32 ntdll) add_pch(windowscodecs wincodecs_private.h SOURCE) add_cd_file(TARGET windowscodecs DESTINATION reactos/system32 FOR all)
Modified: trunk/reactos/dll/win32/windowscodecs/gifformat.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/windowscodecs/gif... ============================================================================== --- trunk/reactos/dll/win32/windowscodecs/gifformat.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/windowscodecs/gifformat.c [iso-8859-1] Mon Nov 23 09:51:23 2015 @@ -1040,10 +1040,13 @@
if (ref == 0) { - IStream_Release(This->stream); + if (This->stream) + { + IStream_Release(This->stream); + DGifCloseFile(This->gif); + } This->lock.DebugInfo->Spare[0] = 0; DeleteCriticalSection(&This->lock); - DGifCloseFile(This->gif); HeapFree(GetProcessHeap(), 0, This); }
@@ -1420,6 +1423,7 @@
This->IWICBitmapDecoder_iface.lpVtbl = &GifDecoder_Vtbl; This->IWICMetadataBlockReader_iface.lpVtbl = &GifDecoder_BlockVtbl; + This->stream = NULL; This->ref = 1; This->initialized = FALSE; This->gif = NULL;
Modified: trunk/reactos/dll/win32/windowscodecs/regsvr.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/windowscodecs/reg... ============================================================================== --- trunk/reactos/dll/win32/windowscodecs/regsvr.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/windowscodecs/regsvr.c [iso-8859-1] Mon Nov 23 09:51:23 2015 @@ -361,11 +361,11 @@ for (; res == ERROR_SUCCESS && list->clsid; ++list) { StringFromGUID2(list->clsid, buf, 39);
- res = SHDeleteKeyW(coclass_key, buf); + res = RegDeleteTreeW(coclass_key, buf); if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; if (res != ERROR_SUCCESS) goto error_close_coclass_key;
- res = SHDeleteKeyW(instance_key, buf); + res = RegDeleteTreeW(instance_key, buf); if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; if (res != ERROR_SUCCESS) goto error_close_coclass_key; } @@ -539,11 +539,11 @@ for (; res == ERROR_SUCCESS && list->clsid; ++list) { StringFromGUID2(list->clsid, buf, 39);
- res = SHDeleteKeyW(coclass_key, buf); + res = RegDeleteTreeW(coclass_key, buf); if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; if (res != ERROR_SUCCESS) goto error_close_coclass_key;
- res = SHDeleteKeyW(instance_key, buf); + res = RegDeleteTreeW(instance_key, buf); if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; if (res != ERROR_SUCCESS) goto error_close_coclass_key; } @@ -696,11 +696,11 @@ for (; res == ERROR_SUCCESS && list->clsid; ++list) { StringFromGUID2(list->clsid, buf, 39);
- res = SHDeleteKeyW(coclass_key, buf); + res = RegDeleteTreeW(coclass_key, buf); if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; if (res != ERROR_SUCCESS) goto error_close_coclass_key;
- res = SHDeleteKeyW(instance_key, buf); + res = RegDeleteTreeW(instance_key, buf); if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; if (res != ERROR_SUCCESS) goto error_close_coclass_key; } @@ -906,11 +906,11 @@ for (; res == ERROR_SUCCESS && list->clsid; ++list) { StringFromGUID2(list->clsid, buf, 39);
- res = SHDeleteKeyW(coclass_key, buf); + res = RegDeleteTreeW(coclass_key, buf); if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; if (res != ERROR_SUCCESS) goto error_close_coclass_key;
- res = SHDeleteKeyW(instance_key, buf); + res = RegDeleteTreeW(instance_key, buf); if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; if (res != ERROR_SUCCESS) goto error_close_coclass_key; } @@ -1081,11 +1081,11 @@ for (; res == ERROR_SUCCESS && list->clsid; ++list) { StringFromGUID2(list->clsid, buf, 39);
- res = SHDeleteKeyW(coclass_key, buf); + res = RegDeleteTreeW(coclass_key, buf); if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; if (res != ERROR_SUCCESS) goto error_close_coclass_key;
- res = SHDeleteKeyW(instance_key, buf); + res = RegDeleteTreeW(instance_key, buf); if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; if (res != ERROR_SUCCESS) goto error_close_coclass_key; } @@ -2021,14 +2021,14 @@ for (; res == ERROR_SUCCESS && list->clsid; list++) { StringFromGUID2(list->clsid, buf, 39); - res = SHDeleteKeyW(instance_key, buf); + res = RegDeleteTreeW(instance_key, buf); }
RegCloseKey(instance_key); RegCloseKey(categories_key);
StringFromGUID2(&CLSID_WICImagingCategories, buf, 39); - res = SHDeleteKeyW(coclass_key, buf); + res = RegDeleteTreeW(coclass_key, buf);
RegCloseKey(coclass_key);
Modified: trunk/reactos/dll/win32/windowscodecs/tiffformat.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/windowscodecs/tif... ============================================================================== --- trunk/reactos/dll/win32/windowscodecs/tiffformat.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/windowscodecs/tiffformat.c [iso-8859-1] Mon Nov 23 09:51:23 2015 @@ -210,7 +210,7 @@ IWICBitmapDecoder IWICBitmapDecoder_iface; LONG ref; IStream *stream; - CRITICAL_SECTION lock; /* Must be held when tiff is used or initiailzed is set */ + CRITICAL_SECTION lock; /* Must be held when tiff is used or initialized is set */ TIFF *tiff; BOOL initialized; } TiffDecoder;
Modified: trunk/reactos/dll/win32/windowscodecs/ungif.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/windowscodecs/ung... ============================================================================== --- trunk/reactos/dll/win32/windowscodecs/ungif.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/windowscodecs/ungif.c [iso-8859-1] Mon Nov 23 09:51:23 2015 @@ -491,7 +491,10 @@ * image until empty block (size 0) detected. We use GetCodeNext. */ do if (DGifGetCodeNext(GifFile, &Dummy) == GIF_ERROR) + { + WARN("GIF is not properly terminated\n"); break; + } while (Dummy != NULL) ; } return GIF_OK; @@ -927,9 +930,17 @@
Extensions->Function = Function;
- /* Create an extension block with our data */ - if (AddExtensionBlock(Extensions, ExtData[0], &ExtData[1]) == GIF_ERROR) - return (GIF_ERROR); + if (ExtData) + { + /* Create an extension block with our data */ + if (AddExtensionBlock(Extensions, ExtData[0], &ExtData[1]) == GIF_ERROR) + return (GIF_ERROR); + } + else /* Empty extension block */ + { + if (AddExtensionBlock(Extensions, 0, NULL) == GIF_ERROR) + return (GIF_ERROR); + }
while (ExtData != NULL) { int Len;
Modified: trunk/reactos/media/doc/README.WINE URL: http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=7... ============================================================================== --- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original) +++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Mon Nov 23 09:51:23 2015 @@ -200,7 +200,7 @@ reactos/dll/win32/vssapi # Synced to WineStaging-1.7.47 reactos/dll/win32/wbemdisp # Synced to WineStaging-1.7.47 reactos/dll/win32/wbemprox # Synced to WineStaging-1.7.55 -reactos/dll/win32/windowscodecs # Synced to WineStaging-1.7.47 +reactos/dll/win32/windowscodecs # Synced to WineStaging-1.7.55 reactos/dll/win32/windowscodecsext # Synced to WineStaging-1.7.47 reactos/dll/win32/winemp3.acm # Synced to WineStaging-1.7.47 reactos/dll/win32/wing32 # Synced to WineStaging-1.7.55