Rebase against 73af2479c7107f6157cabdd24dc1e0fe47fbbb1e.

This commit is contained in:
Sebastian Lackner 2017-07-02 22:33:47 +02:00
parent aa00b4044e
commit de09d74c97
6 changed files with 41 additions and 155 deletions

View File

@ -0,0 +1,25 @@
From 814a4e7a4cad942e284a4828927dd0b67938af33 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
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

View File

@ -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

View File

@ -1,92 +0,0 @@
From f0087cfcdb93cfbed95dea8c700726be687a2a8f Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
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

View File

@ -1,3 +0,0 @@
Fixes: Implement some additional windowscodecs metadata functions
Depends: windowscodecs-TIFF_Support
Depends: windowscodecs-WICCreateBitmapFromSection

View File

@ -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?= <michael@fds-team.de>
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

View File

@ -1 +1 @@
Wine Staging 2.11
Wine Staging 2.12 (unreleased)