diff --git a/patches/Compiler_Warnings/0032-wsdapi-Avoid-implicit-cast-of-interface-pointer.patch b/patches/Compiler_Warnings/0032-wsdapi-Avoid-implicit-cast-of-interface-pointer.patch new file mode 100644 index 00000000..c10761cb --- /dev/null +++ b/patches/Compiler_Warnings/0032-wsdapi-Avoid-implicit-cast-of-interface-pointer.patch @@ -0,0 +1,25 @@ +From 814a4e7a4cad942e284a4828927dd0b67938af33 Mon Sep 17 00:00:00 2001 +From: Sebastian Lackner +Date: Sun, 2 Jul 2017 22:32:45 +0200 +Subject: wsdapi: Avoid implicit cast of interface pointer. + +--- + dlls/wsdapi/msgparams.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dlls/wsdapi/msgparams.c b/dlls/wsdapi/msgparams.c +index a7a2f0a73b3..47a77138709 100644 +--- a/dlls/wsdapi/msgparams.c ++++ b/dlls/wsdapi/msgparams.c +@@ -45,7 +45,7 @@ static inline IWSDMessageParametersImpl *impl_from_IWSDMessageParameters(IWSDMes + + static inline IWSDUdpMessageParametersImpl *impl_from_IWSDUdpMessageParameters(IWSDUdpMessageParameters *iface) + { +- return CONTAINING_RECORD(iface, IWSDUdpMessageParametersImpl, base.IWSDMessageParameters_iface); ++ return CONTAINING_RECORD((IWSDMessageParameters *)iface, IWSDUdpMessageParametersImpl, base.IWSDMessageParameters_iface); + } + + /* IWSDMessageParameters implementation */ +-- +2.13.1 + diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 3d222e70..a95f8dab 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,13 +52,13 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "4005e6e659107c29f93e7a35a3bb933b22416598" + echo "73af2479c7107f6157cabdd24dc1e0fe47fbbb1e" } # Show version information version() { - echo "Wine Staging 2.11" + echo "Wine Staging 2.12 (unreleased)" echo "Copyright (C) 2014-2017 the Wine Staging project authors." echo "" echo "Patchset to be applied on upstream Wine:" @@ -410,7 +410,6 @@ patch_enable_all () enable_windowscodecs_GIF_Encoder="$1" enable_windowscodecs_IMILBitmapSource="$1" enable_windowscodecs_IWICPalette_InitializeFromBitmap="$1" - enable_windowscodecs_MetadataQueryParser="$1" enable_windowscodecs_Palette_Images="$1" enable_windowscodecs_TIFF_Support="$1" enable_windowscodecs_WICCreateBitmapFromSection="$1" @@ -1478,9 +1477,6 @@ patch_enable () windowscodecs-IWICPalette_InitializeFromBitmap) enable_windowscodecs_IWICPalette_InitializeFromBitmap="$2" ;; - windowscodecs-MetadataQueryParser) - enable_windowscodecs_MetadataQueryParser="$2" - ;; windowscodecs-Palette_Images) enable_windowscodecs_Palette_Images="$2" ;; @@ -2163,17 +2159,6 @@ if test "$enable_wineboot_ProxySettings" -eq 1; then enable_wineboot_drivers_etc_Stubs=1 fi -if test "$enable_windowscodecs_MetadataQueryParser" -eq 1; then - if test "$enable_windowscodecs_TIFF_Support" -gt 1; then - abort "Patchset windowscodecs-TIFF_Support disabled, but windowscodecs-MetadataQueryParser depends on that." - fi - if test "$enable_windowscodecs_WICCreateBitmapFromSection" -gt 1; then - abort "Patchset windowscodecs-WICCreateBitmapFromSection disabled, but windowscodecs-MetadataQueryParser depends on that." - fi - enable_windowscodecs_TIFF_Support=1 - enable_windowscodecs_WICCreateBitmapFromSection=1 -fi - if test "$enable_windowscodecs_32bppPRGBA" -eq 1; then if test "$enable_windowscodecs_TIFF_Support" -gt 1; then abort "Patchset windowscodecs-TIFF_Support disabled, but windowscodecs-32bppPRGBA depends on that." @@ -2710,8 +2695,8 @@ fi # | dlls/dwrite/layout.c, dlls/fusion/tests/asmenum.c, dlls/fusion/tests/asmname.c, dlls/kernel32/oldconfig.c, # | dlls/kernel32/tests/heap.c, dlls/msxml3/schema.c, dlls/netapi32/netapi32.c, dlls/ole32/storage32.h, # | dlls/oleaut32/oleaut.c, dlls/rpcrt4/cstub.c, dlls/rsaenh/rsaenh.c, dlls/shell32/shfldr_fs.c, dlls/vbscript/vbdisp.c, -# | dlls/winealsa.drv/mmdevdrv.c, dlls/wined3d/glsl_shader.c, dlls/ws2_32/tests/sock.c, include/wine/list.h, -# | include/wine/rbtree.h, include/winnt.h, tools/makedep.c +# | dlls/winealsa.drv/mmdevdrv.c, dlls/wined3d/glsl_shader.c, dlls/ws2_32/tests/sock.c, dlls/wsdapi/msgparams.c, +# | include/wine/list.h, include/wine/rbtree.h, include/winnt.h, tools/makedep.c # | if test "$enable_Compiler_Warnings" -eq 1; then patch_apply Compiler_Warnings/0001-ole32-Fix-compilation-with-recent-versions-of-gcc.patch @@ -2736,6 +2721,7 @@ if test "$enable_Compiler_Warnings" -eq 1; then patch_apply Compiler_Warnings/0029-rpcrt4-Avoid-implicit-cast-of-interface-pointer.patch patch_apply Compiler_Warnings/0030-vbscript-Avoid-implicit-cast-of-interface-pointer.patch patch_apply Compiler_Warnings/0031-include-Check-element-type-in-CONTAINING_RECORD-and-.patch + patch_apply Compiler_Warnings/0032-wsdapi-Avoid-implicit-cast-of-interface-pointer.patch ( printf '%s\n' '+ { "Sebastian Lackner", "ole32: Fix compilation with recent versions of gcc.", 1 },'; printf '%s\n' '+ { "Sebastian Lackner", "shell32: Fix length parameter for ZeroMemory.", 1 },'; @@ -2759,6 +2745,7 @@ if test "$enable_Compiler_Warnings" -eq 1; then printf '%s\n' '+ { "Sebastian Lackner", "rpcrt4: Avoid implicit cast of interface pointer.", 1 },'; printf '%s\n' '+ { "Sebastian Lackner", "vbscript: Avoid implicit cast of interface pointer.", 1 },'; printf '%s\n' '+ { "Sebastian Lackner", "include: Check element type in CONTAINING_RECORD and similar macros.", 1 },'; + printf '%s\n' '+ { "Sebastian Lackner", "wsdapi: Avoid implicit cast of interface pointer.", 1 },'; ) >> "$patchlist" fi @@ -8787,22 +8774,6 @@ if test "$enable_windowscodecs_WICCreateBitmapFromSection" -eq 1; then ) >> "$patchlist" fi -# Patchset windowscodecs-MetadataQueryParser -# | -# | This patchset has the following (direct or indirect) dependencies: -# | * gdiplus-Grayscale_PNG, windowscodecs-32bppGrayFloat, windowscodecs-Palette_Images, windowscodecs-GIF_Encoder, -# | windowscodecs-IWICPalette_InitializeFromBitmap, windowscodecs-TIFF_Support, windowscodecs-WICCreateBitmapFromSection -# | -# | Modified files: -# | * dlls/windowscodecs/Makefile.in, dlls/windowscodecs/metadatahandler.c -# | -if test "$enable_windowscodecs_MetadataQueryParser" -eq 1; then - patch_apply windowscodecs-MetadataQueryParser/0006-windowscodecs-Simplify-a-bit-comparison-of-two-PROPV.patch - ( - printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Simplify a bit comparison of two PROPVARIANTs.", 1 },'; - ) >> "$patchlist" -fi - # Patchset wine.inf-Directory_ContextMenuHandlers # | # | This patchset fixes the following Wine bugs: @@ -9632,7 +9603,7 @@ fi # | * [#41398] Return failure when handling http redirect without hostname # | # | Modified files: -# | * dlls/wininet/http.c, dlls/wininet/tests/http.c +# | * dlls/wininet/tests/http.c # | if test "$enable_wininet_Redirect" -eq 1; then patch_apply wininet-Redirect/0001-wininet-Return-failure-when-handling-http-redirect-w.patch diff --git a/patches/windowscodecs-MetadataQueryParser/0006-windowscodecs-Simplify-a-bit-comparison-of-two-PROPV.patch b/patches/windowscodecs-MetadataQueryParser/0006-windowscodecs-Simplify-a-bit-comparison-of-two-PROPV.patch deleted file mode 100644 index e7dd9414..00000000 --- a/patches/windowscodecs-MetadataQueryParser/0006-windowscodecs-Simplify-a-bit-comparison-of-two-PROPV.patch +++ /dev/null @@ -1,92 +0,0 @@ -From f0087cfcdb93cfbed95dea8c700726be687a2a8f Mon Sep 17 00:00:00 2001 -From: Dmitry Timoshkov -Date: Tue, 28 Mar 2017 14:43:39 +0800 -Subject: windowscodecs: Simplify a bit comparison of two PROPVARIANTs. - ---- - dlls/windowscodecs/Makefile.in | 2 +- - dlls/windowscodecs/metadatahandler.c | 42 +++--------------------------------- - 2 files changed, 4 insertions(+), 40 deletions(-) - -diff --git a/dlls/windowscodecs/Makefile.in b/dlls/windowscodecs/Makefile.in -index 78e2059132..3505e804ca 100644 ---- a/dlls/windowscodecs/Makefile.in -+++ b/dlls/windowscodecs/Makefile.in -@@ -1,6 +1,6 @@ - MODULE = windowscodecs.dll - IMPORTLIB = windowscodecs --IMPORTS = uuid ole32 oleaut32 rpcrt4 shlwapi user32 gdi32 advapi32 -+IMPORTS = uuid ole32 oleaut32 propsys rpcrt4 shlwapi user32 gdi32 advapi32 - EXTRAINCL = $(JPEG_CFLAGS) $(PNG_CFLAGS) $(TIFF_CFLAGS) - EXTRALIBS = $(APPLICATIONSERVICES_LIBS) - -diff --git a/dlls/windowscodecs/metadatahandler.c b/dlls/windowscodecs/metadatahandler.c -index e394064f2a..2f67807354 100644 ---- a/dlls/windowscodecs/metadatahandler.c -+++ b/dlls/windowscodecs/metadatahandler.c -@@ -29,6 +29,7 @@ - #include "winbase.h" - #include "winternl.h" - #include "objbase.h" -+#include "propvarutil.h" - - #include "wincodecs_private.h" - -@@ -211,43 +212,6 @@ static HRESULT WINAPI MetadataHandler_GetValueByIndex(IWICMetadataWriter *iface, - return hr; - } - --static BOOL get_int_value(const PROPVARIANT *pv, LONGLONG *value) --{ -- switch (pv->vt) -- { -- case VT_NULL: -- case VT_EMPTY: -- *value = 0; -- break; -- case VT_I1: -- *value = pv->u.cVal; -- break; -- case VT_UI1: -- *value = pv->u.bVal; -- break; -- case VT_I2: -- *value = pv->u.iVal; -- break; -- case VT_UI2: -- *value = pv->u.uiVal; -- break; -- case VT_I4: -- *value = pv->u.lVal; -- break; -- case VT_UI4: -- *value = pv->u.ulVal; -- break; -- case VT_I8: -- case VT_UI8: -- *value = pv->u.hVal.QuadPart; -- break; -- default: -- FIXME("not supported variant type %d\n", pv->vt); -- return FALSE; -- } -- return TRUE; --} -- - /* FiXME: Use propsys.PropVariantCompareEx once it's implemented */ - static int propvar_cmp(const PROPVARIANT *v1, const PROPVARIANT *v2) - { -@@ -263,8 +227,8 @@ static int propvar_cmp(const PROPVARIANT *v1, const PROPVARIANT *v2) - return lstrcmpiW(v1->u.pwszVal, v2->u.pwszVal); - } - -- if (!get_int_value(v1, &value1)) return -1; -- if (!get_int_value(v2, &value2)) return -1; -+ if (PropVariantToInt64(v1, &value1) != S_OK) return -1; -+ if (PropVariantToInt64(v2, &value2) != S_OK) return -1; - - value1 -= value2; - if (value1) return value1 < 0 ? -1 : 1; --- -2.12.2 - diff --git a/patches/windowscodecs-MetadataQueryParser/definition b/patches/windowscodecs-MetadataQueryParser/definition deleted file mode 100644 index d0261fe1..00000000 --- a/patches/windowscodecs-MetadataQueryParser/definition +++ /dev/null @@ -1,3 +0,0 @@ -Fixes: Implement some additional windowscodecs metadata functions -Depends: windowscodecs-TIFF_Support -Depends: windowscodecs-WICCreateBitmapFromSection diff --git a/patches/wininet-Redirect/0001-wininet-Return-failure-when-handling-http-redirect-w.patch b/patches/wininet-Redirect/0001-wininet-Return-failure-when-handling-http-redirect-w.patch index 535d8b97..716c7e2e 100644 --- a/patches/wininet-Redirect/0001-wininet-Return-failure-when-handling-http-redirect-w.patch +++ b/patches/wininet-Redirect/0001-wininet-Return-failure-when-handling-http-redirect-w.patch @@ -1,32 +1,17 @@ -From 1d24995332c39743760ca0f978fe040761631bc2 Mon Sep 17 00:00:00 2001 +From c67d3ad3788845c39b39c3762b47133f1211afd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Wed, 29 Mar 2017 03:05:05 +0200 Subject: wininet: Return failure when handling http redirect without hostname. --- - dlls/wininet/http.c | 3 +++ dlls/wininet/tests/http.c | 32 ++++++++++++++++++++++++++++++++ - 2 files changed, 35 insertions(+) + 1 file changed, 32 insertions(+) -diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c -index e15a284fb63..06b8e3dac77 100644 ---- a/dlls/wininet/http.c -+++ b/dlls/wininet/http.c -@@ -4070,6 +4070,9 @@ static DWORD HTTP_HandleRedirect(http_request_t *request, LPCWSTR lpszUrl) - if(!InternetCrackUrlW(lpszUrl, strlenW(lpszUrl), 0, &urlComponents)) - return INTERNET_GetLastError(); - -+ if (!urlComponents.dwHostNameLength) -+ return ERROR_INTERNET_INVALID_URL; -+ - if(urlComponents.nScheme == INTERNET_SCHEME_HTTP) { - if(request->hdr.dwFlags & INTERNET_FLAG_SECURE) { - TRACE("redirect from secure page to non-secure page\n"); diff --git a/dlls/wininet/tests/http.c b/dlls/wininet/tests/http.c -index 478d983f7db..d32120f2307 100644 +index 528239c50bd..1d6b0262f2c 100644 --- a/dlls/wininet/tests/http.c +++ b/dlls/wininet/tests/http.c -@@ -2088,6 +2088,12 @@ static const char ok_with_length2[] = +@@ -2111,6 +2111,12 @@ static const char ok_with_length2[] = "Content-Length: 19\r\n\r\n" "HTTP/1.1 211 OK\r\n\r\n"; @@ -39,7 +24,7 @@ index 478d983f7db..d32120f2307 100644 struct server_info { HANDLE hEvent; int port; -@@ -2498,6 +2504,10 @@ static DWORD CALLBACK server_thread(LPVOID param) +@@ -2521,6 +2527,10 @@ static DWORD CALLBACK server_thread(LPVOID param) else send(c, noauthmsg, sizeof noauthmsg-1, 0); } @@ -50,7 +35,7 @@ index 478d983f7db..d32120f2307 100644 shutdown(c, 2); closesocket(c); c = -1; -@@ -5536,6 +5546,27 @@ static void test_remove_dot_segments(int port) +@@ -5584,6 +5594,27 @@ static void test_remove_dot_segments(int port) close_request(&req); } @@ -78,7 +63,7 @@ index 478d983f7db..d32120f2307 100644 static void test_http_connection(void) { struct server_info si; -@@ -5590,6 +5621,7 @@ static void test_http_connection(void) +@@ -5638,6 +5669,7 @@ static void test_http_connection(void) test_long_url(si.port); test_redirect(si.port); test_remove_dot_segments(si.port); @@ -87,5 +72,5 @@ index 478d983f7db..d32120f2307 100644 /* send the basic request again to shutdown the server thread */ test_basic_request(si.port, "GET", "/quit"); -- -2.12.2 +2.13.1 diff --git a/staging/VERSION b/staging/VERSION index ab93476b..2d89c811 100644 --- a/staging/VERSION +++ b/staging/VERSION @@ -1 +1 @@ -Wine Staging 2.11 +Wine Staging 2.12 (unreleased)