Wine-devel
Threads by month
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
August 2018
- 62 participants
- 701 discussions
24 Aug '18
This also fixes a regression caused by 0b61334b9d6392e8c8a9772d762efaf0c2eb0835,
which is causing Office 2013 to fail to login, saying that there is a problem
with your account.
Signed-off-by: Zhiyi Zhang <zzhang(a)codeweavers.com>
---
dlls/winhttp/net.c | 14 ++++++++------
dlls/winhttp/request.c | 2 +-
dlls/winhttp/session.c | 12 ++++++++++++
dlls/winhttp/tests/winhttp.c | 31 +++++++++++++++++++++++++++++++
dlls/winhttp/winhttp_private.h | 3 ++-
5 files changed, 54 insertions(+), 8 deletions(-)
diff --git a/dlls/winhttp/net.c b/dlls/winhttp/net.c
index d577a64783..2625e4a9d7 100644
--- a/dlls/winhttp/net.c
+++ b/dlls/winhttp/net.c
@@ -160,7 +160,7 @@ static int sock_recv(int fd, void *msg, size_t len, int flags)
return ret;
}
-static DWORD netconn_verify_cert( PCCERT_CONTEXT cert, WCHAR *server, DWORD security_flags )
+static DWORD netconn_verify_cert( PCCERT_CONTEXT cert, WCHAR *server, DWORD security_flags, BOOL check_revocation )
{
HCERTSTORE store = cert->hCertStore;
BOOL ret;
@@ -173,9 +173,10 @@ static DWORD netconn_verify_cert( PCCERT_CONTEXT cert, WCHAR *server, DWORD secu
TRACE("verifying %s\n", debugstr_w( server ));
chainPara.RequestedUsage.Usage.cUsageIdentifier = 1;
chainPara.RequestedUsage.Usage.rgpszUsageIdentifier = server_auth;
- if ((ret = CertGetCertificateChain( NULL, cert, NULL, store, &chainPara,
- CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT,
- NULL, &chain )))
+ ret = CertGetCertificateChain( NULL, cert, NULL, store, &chainPara,
+ check_revocation ? CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT : 0,
+ NULL, &chain );
+ if (ret)
{
if (chain->TrustStatus.dwErrorStatus)
{
@@ -370,7 +371,8 @@ BOOL netconn_close( netconn_t *conn )
return TRUE;
}
-BOOL netconn_secure_connect( netconn_t *conn, WCHAR *hostname, DWORD security_flags, CredHandle *cred_handle )
+BOOL netconn_secure_connect( netconn_t *conn, WCHAR *hostname, DWORD security_flags, CredHandle *cred_handle,
+ BOOL check_revocation)
{
SecBuffer out_buf = {0, SECBUFFER_TOKEN, NULL}, in_bufs[2] = {{0, SECBUFFER_TOKEN}, {0, SECBUFFER_EMPTY}};
SecBufferDesc out_desc = {SECBUFFER_VERSION, 1, &out_buf}, in_desc = {SECBUFFER_VERSION, 2, in_bufs};
@@ -466,7 +468,7 @@ BOOL netconn_secure_connect( netconn_t *conn, WCHAR *hostname, DWORD security_fl
status = QueryContextAttributesW(&ctx, SECPKG_ATTR_REMOTE_CERT_CONTEXT, (void*)&cert);
if(status == SEC_E_OK) {
- res = netconn_verify_cert(cert, hostname, security_flags);
+ res = netconn_verify_cert(cert, hostname, security_flags, check_revocation);
CertFreeCertificateContext(cert);
if(res != ERROR_SUCCESS) {
WARN("cert verify failed: %u\n", res);
diff --git a/dlls/winhttp/request.c b/dlls/winhttp/request.c
index 5e5b229a1f..65d641f3cb 100644
--- a/dlls/winhttp/request.c
+++ b/dlls/winhttp/request.c
@@ -1769,7 +1769,7 @@ static BOOL open_connection( request_t *request )
if (!ensure_cred_handle( connect->session ) ||
!netconn_secure_connect( netconn, connect->hostname, request->security_flags,
- &connect->session->cred_handle ))
+ &connect->session->cred_handle, request->check_revocation ))
{
heap_free( addressW );
netconn_close( netconn );
diff --git a/dlls/winhttp/session.c b/dlls/winhttp/session.c
index fb815682c2..788f7c613f 100644
--- a/dlls/winhttp/session.c
+++ b/dlls/winhttp/session.c
@@ -1020,6 +1020,18 @@ static BOOL request_set_option( object_header_t *hdr, DWORD option, LPVOID buffe
}
FIXME("WINHTTP_OPTION_CLIENT_CERT_CONTEXT\n");
return TRUE;
+ case WINHTTP_OPTION_ENABLE_FEATURE:
+ if(buflen == sizeof( DWORD ) && *(DWORD *)buffer == WINHTTP_ENABLE_SSL_REVOCATION)
+ {
+ request->check_revocation = TRUE;
+ SetLastError( NO_ERROR );
+ return TRUE;
+ }
+ else
+ {
+ SetLastError( ERROR_INVALID_PARAMETER );
+ return FALSE;
+ }
default:
FIXME("unimplemented option %u\n", option);
set_last_error( ERROR_WINHTTP_INVALID_OPTION );
diff --git a/dlls/winhttp/tests/winhttp.c b/dlls/winhttp/tests/winhttp.c
index c9e053fbea..2e903e1105 100644
--- a/dlls/winhttp/tests/winhttp.c
+++ b/dlls/winhttp/tests/winhttp.c
@@ -201,6 +201,37 @@ static void test_QueryOption(void)
ok(GetLastError() == ERROR_INVALID_PARAMETER,
"expected ERROR_INVALID_PARAMETER, got %u\n", GetLastError());
+ feature = 0xdeadbeef;
+ size = sizeof(feature);
+ SetLastError(0xdeadbeef);
+ ret = WinHttpQueryOption(request, WINHTTP_OPTION_ENABLE_FEATURE, &feature, &size);
+ ok(!ret, "should fail to query enabled features for a request\n");
+ ok(feature == 0xdeadbeef, "expect feature 0xdeadbeef, got %u\n", feature);
+ ok(GetLastError() == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %u\n", GetLastError());
+
+ feature = WINHTTP_ENABLE_SSL_REVOCATION;
+ SetLastError(0xdeadbeef);
+ ret = WinHttpSetOption(request, WINHTTP_OPTION_ENABLE_FEATURE, 0, sizeof(feature));
+ ok(!ret, "should fail to enable WINHTTP_ENABLE_SSL_REVOCATION with invalid parameters\n");
+ ok(GetLastError() == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %u\n", GetLastError());
+
+ SetLastError(0xdeadbeef);
+ ret = WinHttpSetOption(request, WINHTTP_OPTION_ENABLE_FEATURE, &feature, 0);
+ ok(!ret, "should fail to enable WINHTTP_ENABLE_SSL_REVOCATION with invalid parameters\n");
+ ok(GetLastError() == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %u\n", GetLastError());
+
+ SetLastError(0xdeadbeef);
+ ret = WinHttpSetOption(request, WINHTTP_OPTION_ENABLE_FEATURE, &feature, sizeof(feature));
+ ok(ret, "failed to set feature\n");
+ ok(GetLastError() == NO_ERROR || broken(GetLastError() == 0xdeadbeef), /* Doesn't set error code on Vista or older */
+ "expected NO_ERROR, got %u\n", GetLastError());
+
+ feature = 0xdeadbeef;
+ SetLastError(0xdeadbeef);
+ ret = WinHttpSetOption(request, WINHTTP_OPTION_ENABLE_FEATURE, &feature, sizeof(feature));
+ ok(!ret, "should fail to enable WINHTTP_ENABLE_SSL_REVOCATION with invalid parameters\n");
+ ok(GetLastError() == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %u\n", GetLastError());
+
SetLastError(0xdeadbeef);
ret = WinHttpCloseHandle(request);
ok(ret, "WinHttpCloseHandle failed on closing request: %u\n", GetLastError());
diff --git a/dlls/winhttp/winhttp_private.h b/dlls/winhttp/winhttp_private.h
index d639a2deb2..f1aa5622c6 100644
--- a/dlls/winhttp/winhttp_private.h
+++ b/dlls/winhttp/winhttp_private.h
@@ -210,6 +210,7 @@ typedef struct
DWORD optional_len;
netconn_t *netconn;
DWORD security_flags;
+ BOOL check_revocation;
const CERT_CONTEXT *server_cert;
int resolve_timeout;
int connect_timeout;
@@ -306,7 +307,7 @@ void netconn_unload( void ) DECLSPEC_HIDDEN;
ULONG netconn_query_data_available( netconn_t * ) DECLSPEC_HIDDEN;
BOOL netconn_recv( netconn_t *, void *, size_t, int, int * ) DECLSPEC_HIDDEN;
BOOL netconn_resolve( WCHAR *, INTERNET_PORT, struct sockaddr_storage *, int ) DECLSPEC_HIDDEN;
-BOOL netconn_secure_connect( netconn_t *, WCHAR *, DWORD, CredHandle * ) DECLSPEC_HIDDEN;
+BOOL netconn_secure_connect( netconn_t *, WCHAR *, DWORD, CredHandle *, BOOL ) DECLSPEC_HIDDEN;
BOOL netconn_send( netconn_t *, const void *, size_t, int * ) DECLSPEC_HIDDEN;
DWORD netconn_set_timeout( netconn_t *, BOOL, int ) DECLSPEC_HIDDEN;
BOOL netconn_is_alive( netconn_t * ) DECLSPEC_HIDDEN;
--
2.18.0
2
1
24 Aug '18
Signed-off-by: Jacek Caban <jacek(a)codeweavers.com>
---
tools/widl/write_msft.c | 130
+++++++++++++++++++++---------------------------
1 file changed, 56 insertions(+), 74 deletions(-)
1
0
Signed-off-by: Jacek Caban <jacek(a)codeweavers.com>
---
tools/widl/write_msft.c | 49
+++++++++++++++++++++++++------------------------
1 file changed, 25 insertions(+), 24 deletions(-)
1
0
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
---
dlls/comctl32/tests/treeview.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/comctl32/tests/treeview.c b/dlls/comctl32/tests/treeview.c
index 14d814d8e0..c60aa8a6c4 100644
--- a/dlls/comctl32/tests/treeview.c
+++ b/dlls/comctl32/tests/treeview.c
@@ -2225,8 +2225,8 @@ static void _check_item(HWND hwnd, HTREEITEM item, BOOL is_version_6, int line)
else
width = data->width;
todo_wine
- ok_(__FILE__, line)(width == (rect.right - rect.left), "Width %d, rect width %d.\n",
- width, rect.right - rect.left);
+ ok_(__FILE__, line)(width == (rect.right - rect.left) || broken(is_version_6 && width == 0) /* XP */,
+ "Width %d, rect width %d.\n", width, rect.right - rect.left);
}
}
--
2.18.0
1
0
24 Aug '18
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com>
---
include/wbemcli.idl | 43 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
diff --git a/include/wbemcli.idl b/include/wbemcli.idl
index 4a0f4e2..2dc451a 100644
--- a/include/wbemcli.idl
+++ b/include/wbemcli.idl
@@ -660,3 +660,46 @@ interface IWbemQualifierSet : IUnknown
HRESULT EndEnumeration();
}
+
+
+typedef [v1_enum] enum tag_WBEM_UNSECAPP_FLAG_TYPE
+{
+ WBEM_FLAG_UNSECAPP_DEFAULT_CHECK_ACCESS = 0,
+ WBEM_FLAG_UNSECAPP_CHECK_ACCESS = 1,
+ WBEM_FLAG_UNSECAPP_DONT_CHECK_ACCESS = 2
+} WBEM_UNSECAPP_FLAG_TYPE;
+
+[
+ object,
+ restricted,
+ uuid(1cfaba8c-1523-11d1-ad79-00c04fd8fdff)
+]
+interface IUnsecuredApartment : IUnknown
+{
+ HRESULT CreateObjectStub(
+ [in] IUnknown *object,
+ [out] IUnknown **stub);
+};
+
+[
+ object,
+ restricted,
+ uuid(31739d04-3471-4cf4-9a7c-57a44ae71956)
+]
+interface IWbemUnsecuredApartment : IUnsecuredApartment
+{
+ HRESULT CreateSinkStub(
+ [in] IWbemObjectSink *sink,
+ [in] DWORD flags,
+ [in,unique] const WCHAR *reserved,
+ [out] IWbemObjectSink **stub);
+};
+
+[
+ uuid(49bd2028-1523-11d1-ad79-00c04fd8fdff)
+]
+coclass UnsecuredApartment
+{
+ interface IUnsecuredApartment;
+ interface IWbemUnsecuredApartment;
+};
--
1.9.1
2
1
[PATCH 3/3] oleaut32: Use common helper for masked bitmaps to render an icon. (Resend)
by Dmitry Timoshkov 24 Aug '18
by Dmitry Timoshkov 24 Aug '18
24 Aug '18
Signed-off-by: Dmitry Timoshkov <dmitry(a)baikal.ru>
---
dlls/oleaut32/olepicture.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/dlls/oleaut32/olepicture.c b/dlls/oleaut32/olepicture.c
index aa82b057ee..0ef0ecfeb6 100644
--- a/dlls/oleaut32/olepicture.c
+++ b/dlls/oleaut32/olepicture.c
@@ -711,9 +711,18 @@ static HRESULT WINAPI OLEPictureImpl_Render(IPicture *iface, HDC hdc,
}
case PICTYPE_ICON:
- FIXME("Not quite correct implementation of rendering icons...\n");
- DrawIconEx(hdc, x, y, This->desc.u.icon.hicon, cx, cy, 0, NULL, DI_NORMAL);
+ {
+ ICONINFO info;
+
+ if (!GetIconInfo(This->desc.u.icon.hicon, &info))
+ return E_FAIL;
+
+ render_masked_bitmap(This, hdc, x, y, cx, cy, xSrc, ySrc, cxSrc, cySrc, info.hbmMask, info.hbmColor);
+
+ DeleteObject(info.hbmMask);
+ if (info.hbmColor) DeleteObject(info.hbmColor);
break;
+ }
case PICTYPE_METAFILE:
{
--
2.17.1
1
0
[PATCH 2/3] oleaut32: Move rendering a bitmap to a separate helper. (Resend)
by Dmitry Timoshkov 24 Aug '18
by Dmitry Timoshkov 24 Aug '18
24 Aug '18
Signed-off-by: Dmitry Timoshkov <dmitry(a)baikal.ru>
---
dlls/oleaut32/olepicture.c | 103 +++++++++++++++++++++++--------------
1 file changed, 64 insertions(+), 39 deletions(-)
diff --git a/dlls/oleaut32/olepicture.c b/dlls/oleaut32/olepicture.c
index a2a54bdcd2..aa82b057ee 100644
--- a/dlls/oleaut32/olepicture.c
+++ b/dlls/oleaut32/olepicture.c
@@ -610,6 +610,55 @@ static HRESULT WINAPI OLEPictureImpl_get_Height(IPicture *iface,
return S_OK;
}
+static void render_masked_bitmap(OLEPictureImpl *This, HDC hdc,
+ LONG x, LONG y, LONG cx, LONG cy, OLE_XPOS_HIMETRIC xSrc, OLE_YPOS_HIMETRIC ySrc,
+ OLE_XSIZE_HIMETRIC cxSrc, OLE_YSIZE_HIMETRIC cySrc, HBITMAP hbmMask, HBITMAP hbmXor)
+{
+ HBITMAP hbmpOld;
+ HDC hdcBmp;
+
+ /* Set a mapping mode that maps bitmap pixels into HIMETRIC units.
+ * NB y-axis gets flipped
+ */
+
+ hdcBmp = CreateCompatibleDC(0);
+ SetMapMode(hdcBmp, MM_ANISOTROPIC);
+ SetWindowOrgEx(hdcBmp, 0, 0, NULL);
+ SetWindowExtEx(hdcBmp, This->himetricWidth, This->himetricHeight, NULL);
+ SetViewportOrgEx(hdcBmp, 0, This->origHeight, NULL);
+ SetViewportExtEx(hdcBmp, This->origWidth, -This->origHeight, NULL);
+
+ if (hbmMask)
+ {
+ HDC hdcMask = CreateCompatibleDC(0);
+ HBITMAP hOldbm = SelectObject(hdcMask, hbmMask);
+
+ hbmpOld = SelectObject(hdcBmp, hbmXor);
+
+ SetMapMode(hdcMask, MM_ANISOTROPIC);
+ SetWindowOrgEx(hdcMask, 0, 0, NULL);
+ SetWindowExtEx(hdcMask, This->himetricWidth, This->himetricHeight, NULL);
+ SetViewportOrgEx(hdcMask, 0, This->origHeight, NULL);
+ SetViewportExtEx(hdcMask, This->origWidth, -This->origHeight, NULL);
+
+ SetBkColor(hdc, RGB(255, 255, 255));
+ SetTextColor(hdc, RGB(0, 0, 0));
+ StretchBlt(hdc, x, y, cx, cy, hdcMask, xSrc, ySrc, cxSrc, cySrc, SRCAND);
+ StretchBlt(hdc, x, y, cx, cy, hdcBmp, xSrc, ySrc, cxSrc, cySrc, SRCPAINT);
+
+ SelectObject(hdcMask, hOldbm);
+ DeleteDC(hdcMask);
+ }
+ else
+ {
+ hbmpOld = SelectObject(hdcBmp, hbmXor);
+ StretchBlt(hdc, x, y, cx, cy, hdcBmp, xSrc, ySrc, cxSrc, cySrc, SRCCOPY);
+ }
+
+ SelectObject(hdcBmp, hbmpOld);
+ DeleteDC(hdcBmp);
+}
+
/************************************************************************
* OLEPictureImpl_Render
*/
@@ -643,48 +692,24 @@ static HRESULT WINAPI OLEPictureImpl_Render(IPicture *iface, HDC hdc,
/* nothing to do */
return S_OK;
case PICTYPE_BITMAP:
- {
- HBITMAP hbmpOld;
- HDC hdcBmp;
-
- /* Set a mapping mode that maps bitmap pixels into HIMETRIC units.
- NB y-axis gets flipped */
-
- hdcBmp = CreateCompatibleDC(0);
- SetMapMode(hdcBmp, MM_ANISOTROPIC);
- SetWindowOrgEx(hdcBmp, 0, 0, NULL);
- SetWindowExtEx(hdcBmp, This->himetricWidth, This->himetricHeight, NULL);
- SetViewportOrgEx(hdcBmp, 0, This->origHeight, NULL);
- SetViewportExtEx(hdcBmp, This->origWidth, -This->origHeight, NULL);
-
- if (This->hbmMask) {
- HDC hdcMask = CreateCompatibleDC(0);
- HBITMAP hOldbm = SelectObject(hdcMask, This->hbmMask);
-
- hbmpOld = SelectObject(hdcBmp, This->hbmXor);
-
- SetMapMode(hdcMask, MM_ANISOTROPIC);
- SetWindowOrgEx(hdcMask, 0, 0, NULL);
- SetWindowExtEx(hdcMask, This->himetricWidth, This->himetricHeight, NULL);
- SetViewportOrgEx(hdcMask, 0, This->origHeight, NULL);
- SetViewportExtEx(hdcMask, This->origWidth, -This->origHeight, NULL);
-
- SetBkColor(hdc, RGB(255, 255, 255));
- SetTextColor(hdc, RGB(0, 0, 0));
- StretchBlt(hdc, x, y, cx, cy, hdcMask, xSrc, ySrc, cxSrc, cySrc, SRCAND);
- StretchBlt(hdc, x, y, cx, cy, hdcBmp, xSrc, ySrc, cxSrc, cySrc, SRCPAINT);
-
- SelectObject(hdcMask, hOldbm);
- DeleteDC(hdcMask);
- } else {
- hbmpOld = SelectObject(hdcBmp, This->desc.u.bmp.hbitmap);
- StretchBlt(hdc, x, y, cx, cy, hdcBmp, xSrc, ySrc, cxSrc, cySrc, SRCCOPY);
- }
+ {
+ HBITMAP hbmMask, hbmXor;
- SelectObject(hdcBmp, hbmpOld);
- DeleteDC(hdcBmp);
+ if (This->hbmMask)
+ {
+ hbmMask = This->hbmMask;
+ hbmXor = This->hbmXor;
+ }
+ else
+ {
+ hbmMask = 0;
+ hbmXor = This->desc.u.bmp.hbitmap;
}
+
+ render_masked_bitmap(This, hdc, x, y, cx, cy, xSrc, ySrc, cxSrc, cySrc, hbmMask, hbmXor);
break;
+ }
+
case PICTYPE_ICON:
FIXME("Not quite correct implementation of rendering icons...\n");
DrawIconEx(hdc, x, y, This->desc.u.icon.hicon, cx, cy, 0, NULL, DI_NORMAL);
--
2.17.1
1
0
[PATCH 1/3] oleaut32/tests: Fix the IPicture::Render() usage. (Resend)
by Dmitry Timoshkov 24 Aug '18
by Dmitry Timoshkov 24 Aug '18
24 Aug '18
When one specifies the target rectangle (0, 0, width, -height)
IPicture::Render() places the origin at 0,0 and flips the image
vertically. This means that in order to paint an icon on the DC
it's necessary to specify the rectangle (0, height, width, -height),
i.e. place the origin at 0,height. I've written a test app that
verifies this behaviour, ufortunately I don't see a way to add
a Wine test case for this.
The test currently works by chance under Windows because in case
of (0, 0, width, -height) IPicture::Render() draws black rectangle
instead of an icon at (0, 0, width, height). If Wine intends to
replicate this behaviour it should be fixed by a separate patch.
Signed-off-by: Dmitry Timoshkov <dmitry(a)baikal.ru>
---
dlls/oleaut32/tests/olepicture.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/oleaut32/tests/olepicture.c b/dlls/oleaut32/tests/olepicture.c
index c06cec19ec..6a5f7ee042 100644
--- a/dlls/oleaut32/tests/olepicture.c
+++ b/dlls/oleaut32/tests/olepicture.c
@@ -864,7 +864,7 @@ static void test_Render(void)
SetPixelV(hdc, 10, 10, 0x00223344);
expected = GetPixel(hdc, 0, 0);
- hres = picture_render(pic, hdc, 1, 1, 9, 9, 0, 0, pWidth, -pHeight, NULL);
+ hres = picture_render(pic, hdc, 1, 1, 9, 9, 0, pHeight, pWidth, -pHeight, NULL);
ole_expect(hres, S_OK);
if(hres != S_OK) goto done;
--
2.17.1
1
0
Signed-off-by: Michael Stefaniuc <mstefani(a)winehq.org>
---
dlls/mshtml/dispex.c | 6 +++---
dlls/mshtml/htmlbody.c | 2 +-
dlls/mshtml/htmldoc.c | 2 +-
dlls/mshtml/htmlelem.c | 2 +-
dlls/mshtml/htmlevent.c | 8 ++++----
dlls/mshtml/htmlimg.c | 2 +-
dlls/mshtml/htmllocation.c | 2 +-
dlls/mshtml/htmlstyle.c | 18 +++++++++---------
dlls/mshtml/htmlwindow.c | 9 +++------
dlls/mshtml/main.c | 8 ++++----
dlls/mshtml/mutation.c | 6 +++---
dlls/mshtml/navigate.c | 4 ++--
dlls/mshtml/nsembed.c | 8 ++++----
dlls/mshtml/nsio.c | 21 ++++++++++-----------
dlls/mshtml/olecmd.c | 11 ++++-------
dlls/mshtml/pluginhost.c | 4 ++--
dlls/mshtml/protocol.c | 26 +++++++++++++-------------
dlls/mshtml/script.c | 4 ++--
dlls/mshtml/view.c | 6 ++----
19 files changed, 70 insertions(+), 79 deletions(-)
diff --git a/dlls/mshtml/dispex.c b/dlls/mshtml/dispex.c
index 360d915523..02ba5d41d5 100644
--- a/dlls/mshtml/dispex.c
+++ b/dlls/mshtml/dispex.c
@@ -182,7 +182,7 @@ void release_typelib(void)
if(!typelib)
return;
- for(i=0; i < sizeof(typeinfos)/sizeof(*typeinfos); i++)
+ for(i=0; i < ARRAY_SIZE(typeinfos); i++)
if(typeinfos[i])
ITypeInfo_Release(typeinfos[i]);
@@ -774,12 +774,12 @@ static HRESULT function_value(DispatchEx *dispex, LCID lcid, WORD flags, DISPPAR
return E_ACCESSDENIED;
name_len = SysStringLen(This->info->name);
- ptr = str = SysAllocStringLen(NULL, name_len + (sizeof(func_prefixW)+sizeof(func_suffixW))/sizeof(WCHAR));
+ ptr = str = SysAllocStringLen(NULL, name_len + ARRAY_SIZE(func_prefixW) + ARRAY_SIZE(func_suffixW));
if(!str)
return E_OUTOFMEMORY;
memcpy(ptr, func_prefixW, sizeof(func_prefixW));
- ptr += sizeof(func_prefixW)/sizeof(WCHAR);
+ ptr += ARRAY_SIZE(func_prefixW);
memcpy(ptr, This->info->name, name_len*sizeof(WCHAR));
ptr += name_len;
diff --git a/dlls/mshtml/htmlbody.c b/dlls/mshtml/htmlbody.c
index 4913c45995..2cfd46dc50 100644
--- a/dlls/mshtml/htmlbody.c
+++ b/dlls/mshtml/htmlbody.c
@@ -140,7 +140,7 @@ HRESULT nscolor_to_str(LPCWSTR color, BSTR *ret)
}
if(*color != '#') {
- for(i=0; i < sizeof(keyword_table)/sizeof(keyword_table[0]); i++) {
+ for(i=0; i < ARRAY_SIZE(keyword_table); i++) {
if(!strcmpiW(color, keyword_table[i].keyword))
rgb = keyword_table[i].rgb;
}
diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c
index eab7b1feb0..17c9e6307f 100644
--- a/dlls/mshtml/htmldoc.c
+++ b/dlls/mshtml/htmldoc.c
@@ -1191,7 +1191,7 @@ static BOOL cmdid_from_string(const WCHAR *str, OLECMDID *cmdid)
{
int i;
- for(i = 0; i < sizeof(command_names)/sizeof(*command_names); i++) {
+ for(i = 0; i < ARRAY_SIZE(command_names); i++) {
if(!strcmpiW(command_names[i].name, str)) {
*cmdid = command_names[i].id;
return TRUE;
diff --git a/dlls/mshtml/htmlelem.c b/dlls/mshtml/htmlelem.c
index 40e558c62a..4da01560e2 100644
--- a/dlls/mshtml/htmlelem.c
+++ b/dlls/mshtml/htmlelem.c
@@ -103,7 +103,7 @@ static const tag_desc_t tag_descs[] = {
static const tag_desc_t *get_tag_desc(const WCHAR *tag_name)
{
- DWORD min=0, max=sizeof(tag_descs)/sizeof(*tag_descs)-1, i;
+ DWORD min=0, max=ARRAY_SIZE(tag_descs)-1, i;
int r;
while(min <= max) {
diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c
index d5d59905cd..1a93ae2fe8 100644
--- a/dlls/mshtml/htmlevent.c
+++ b/dlls/mshtml/htmlevent.c
@@ -230,7 +230,7 @@ static eventid_t str_to_eid(const WCHAR *str)
{
int i;
- for(i=0; i < sizeof(event_info)/sizeof(event_info[0]); i++) {
+ for(i=0; i < ARRAY_SIZE(event_info); i++) {
if(!strcmpW(event_info[i].name, str))
return i;
}
@@ -245,7 +245,7 @@ static eventid_t attr_to_eid(const WCHAR *str)
if((str[0] != 'o' && str[0] != 'O') || (str[1] != 'n' && str[1] != 'N'))
return EVENTID_LAST;
- for(i=0; i < sizeof(event_info)/sizeof(event_info[0]); i++) {
+ for(i=0; i < ARRAY_SIZE(event_info); i++) {
if(!strcmpW(event_info[i].name, str+2) && event_info[i].dispid)
return i;
}
@@ -2345,7 +2345,7 @@ static void call_event_handlers(EventTarget *event_target, DOMEvent *event, disp
}
listeners_cnt = 0;
- listeners_size = sizeof(listeners_buf)/sizeof(*listeners_buf);
+ listeners_size = ARRAY_SIZE(listeners_buf);
if(container) {
LIST_FOR_EACH_ENTRY(listener, &container->listeners, event_listener_t, entry) {
@@ -2529,7 +2529,7 @@ static HRESULT dispatch_event_object(EventTarget *event_target, DOMEvent *event,
IEventTarget_AddRef(&event_target->IEventTarget_iface);
chain_cnt = 0;
- chain_buf_size = sizeof(target_chain_buf)/sizeof(*target_chain_buf);
+ chain_buf_size = ARRAY_SIZE(target_chain_buf);
do {
if(chain_cnt == chain_buf_size) {
diff --git a/dlls/mshtml/htmlimg.c b/dlls/mshtml/htmlimg.c
index 90681e4783..13dd3edbb5 100644
--- a/dlls/mshtml/htmlimg.c
+++ b/dlls/mshtml/htmlimg.c
@@ -312,7 +312,7 @@ static HRESULT WINAPI HTMLImgElement_get_src(IHTMLImgElement *iface, BSTR *p)
if(NS_SUCCEEDED(nsres)) {
nsAString_GetData(&src_str, &src);
- if(!strncmpiW(src, blockedW, sizeof(blockedW)/sizeof(WCHAR)-1)) {
+ if(!strncmpiW(src, blockedW, ARRAY_SIZE(blockedW)-1)) {
TRACE("returning BLOCKED::\n");
*p = SysAllocString(blockedW);
if(!*p)
diff --git a/dlls/mshtml/htmllocation.c b/dlls/mshtml/htmllocation.c
index 59b20f614d..769951643c 100644
--- a/dlls/mshtml/htmllocation.c
+++ b/dlls/mshtml/htmllocation.c
@@ -355,7 +355,7 @@ static HRESULT WINAPI HTMLLocation_get_host(IHTMLLocation *iface, BSTR *p)
WCHAR portW[6];
WCHAR *buf;
- port_len = snprintfW(portW, sizeof(portW)/sizeof(portW[0]), format, url.nPort);
+ port_len = snprintfW(portW, ARRAY_SIZE(portW), format, url.nPort);
len = url.dwHostNameLength + 1 /* ':' */ + port_len;
buf = *p = SysAllocStringLen(NULL, len);
memcpy(buf, url.lpszHostName, url.dwHostNameLength * sizeof(WCHAR));
diff --git a/dlls/mshtml/htmlstyle.c b/dlls/mshtml/htmlstyle.c
index b99ea08318..bab8923c90 100644
--- a/dlls/mshtml/htmlstyle.c
+++ b/dlls/mshtml/htmlstyle.c
@@ -303,7 +303,7 @@ static const style_tbl_entry_t style_tbl[] = {
{attrZIndex, DISPID_IHTMLSTYLE_ZINDEX}
};
-C_ASSERT(sizeof(style_tbl)/sizeof(*style_tbl) == STYLEID_MAX_VALUE);
+C_ASSERT(ARRAY_SIZE(style_tbl) == STYLEID_MAX_VALUE);
static const WCHAR valLineThrough[] =
{'l','i','n','e','-','t','h','r','o','u','g','h',0};
@@ -323,7 +323,7 @@ static const WCHAR emptyW[] = {0};
static const style_tbl_entry_t *lookup_style_tbl(const WCHAR *name)
{
- int c, i, min = 0, max = sizeof(style_tbl)/sizeof(*style_tbl)-1;
+ int c, i, min = 0, max = ARRAY_SIZE(style_tbl)-1;
while(min <= max) {
i = (min+max)/2;
@@ -388,7 +388,7 @@ static LPWSTR fix_url_value(LPCWSTR val)
static const WCHAR urlW[] = {'u','r','l','('};
- if(strncmpW(val, urlW, sizeof(urlW)/sizeof(WCHAR)) || !strchrW(val, '\\'))
+ if(strncmpW(val, urlW, ARRAY_SIZE(urlW)) || !strchrW(val, '\\'))
return NULL;
ret = heap_strdupW(val);
@@ -1250,7 +1250,7 @@ static HRESULT WINAPI HTMLStyle_put_backgroundPositionY(IHTMLStyle *iface, VARIA
TRACE("no space in %s\n", debugstr_w(pos));
pos = zero_pxW;
- space = pos + sizeof(zero_pxW)/sizeof(WCHAR)-1;
+ space = pos + ARRAY_SIZE(zero_pxW)-1;
}
posx_len = space-pos;
@@ -2718,7 +2718,7 @@ static void update_filter(HTMLStyle *This)
continue;
}
- if(ptr2 + sizeof(alphaW)/sizeof(WCHAR) == ptr && !memcmp(ptr2, alphaW, sizeof(alphaW))) {
+ if(ptr2 + ARRAY_SIZE(alphaW) == ptr && !memcmp(ptr2, alphaW, sizeof(alphaW))) {
static const WCHAR formatW[] = {'%','f',0};
static const WCHAR opacityW[] = {'o','p','a','c','i','t','y','='};
@@ -2735,11 +2735,11 @@ static void update_filter(HTMLStyle *This)
break;
}
- if(ptr-ptr2 > sizeof(opacityW)/sizeof(WCHAR) && !memcmp(ptr2, opacityW, sizeof(opacityW))) {
+ if(ptr-ptr2 > ARRAY_SIZE(opacityW) && !memcmp(ptr2, opacityW, sizeof(opacityW))) {
float fval = 0.0f, e = 0.1f;
WCHAR buf[32];
- ptr2 += sizeof(opacityW)/sizeof(WCHAR);
+ ptr2 += ARRAY_SIZE(opacityW);
while(isdigitW(*ptr2))
fval = fval*10.0f + (float)(*ptr2++ - '0');
@@ -2915,12 +2915,12 @@ static HRESULT WINAPI HTMLStyle_removeAttribute(IHTMLStyle *iface, BSTR strAttri
return S_OK;
}
- for(i=0; i < sizeof(style_tbl)/sizeof(*style_tbl); i++) {
+ for(i=0; i < ARRAY_SIZE(style_tbl); i++) {
if(dispid == style_tbl[i].dispid)
break;
}
- if(i == sizeof(style_tbl)/sizeof(*style_tbl))
+ if(i == ARRAY_SIZE(style_tbl))
return remove_attribute(&This->dispex, dispid, pfSuccess);
style_entry = style_tbl+i;
}
diff --git a/dlls/mshtml/htmlwindow.c b/dlls/mshtml/htmlwindow.c
index 581de990ee..44f633798a 100644
--- a/dlls/mshtml/htmlwindow.c
+++ b/dlls/mshtml/htmlwindow.c
@@ -626,8 +626,7 @@ static HRESULT WINAPI HTMLWindow2_alert(IHTMLWindow2 *iface, BSTR message)
TRACE("(%p)->(%s)\n", This, debugstr_w(message));
- if(!LoadStringW(get_shdoclc(), IDS_MESSAGE_BOX_TITLE, title,
- sizeof(title)/sizeof(WCHAR))) {
+ if(!LoadStringW(get_shdoclc(), IDS_MESSAGE_BOX_TITLE, title, ARRAY_SIZE(title))) {
WARN("Could not load message box title: %d\n", GetLastError());
return S_OK;
}
@@ -657,8 +656,7 @@ static HRESULT WINAPI HTMLWindow2_confirm(IHTMLWindow2 *iface, BSTR message,
if(!confirmed) return E_INVALIDARG;
- if(!LoadStringW(get_shdoclc(), IDS_MESSAGE_BOX_TITLE, wszTitle,
- sizeof(wszTitle)/sizeof(WCHAR))) {
+ if(!LoadStringW(get_shdoclc(), IDS_MESSAGE_BOX_TITLE, wszTitle, ARRAY_SIZE(wszTitle))) {
WARN("Could not load message box title: %d\n", GetLastError());
*confirmed = VARIANT_TRUE;
return S_OK;
@@ -689,8 +687,7 @@ static INT_PTR CALLBACK prompt_dlgproc(HWND hwnd, UINT msg,
prompt_arg *arg = (prompt_arg*)lparam;
WCHAR wszTitle[100];
- if(!LoadStringW(get_shdoclc(), IDS_MESSAGE_BOX_TITLE, wszTitle,
- sizeof(wszTitle)/sizeof(WCHAR))) {
+ if(!LoadStringW(get_shdoclc(), IDS_MESSAGE_BOX_TITLE, wszTitle, ARRAY_SIZE(wszTitle))) {
WARN("Could not load message box title: %d\n", GetLastError());
EndDialog(hwnd, wparam);
return FALSE;
diff --git a/dlls/mshtml/main.c b/dlls/mshtml/main.c
index 9b2f1993ae..6ce8198aee 100644
--- a/dlls/mshtml/main.c
+++ b/dlls/mshtml/main.c
@@ -126,7 +126,7 @@ static void thread_detach(void)
static void free_strings(void)
{
unsigned int i;
- for(i = 0; i < sizeof(status_strings)/sizeof(*status_strings); i++)
+ for(i = 0; i < ARRAY_SIZE(status_strings); i++)
heap_free(status_strings[i]);
}
@@ -490,7 +490,7 @@ static HRESULT register_server(BOOL do_register)
INF_SET_CLSID(TridentAPI);
INF_SET_ID(LIBID_MSHTML);
- for(i=0; i < sizeof(pse)/sizeof(pse[0]); i++) {
+ for(i=0; i < ARRAY_SIZE(pse); i++) {
pse[i].pszValue = heap_alloc(39);
sprintf(pse[i].pszValue, "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
clsids[i]->Data1, clsids[i]->Data2, clsids[i]->Data3, clsids[i]->Data4[0],
@@ -498,7 +498,7 @@ static HRESULT register_server(BOOL do_register)
clsids[i]->Data4[5], clsids[i]->Data4[6], clsids[i]->Data4[7]);
}
- strtable.cEntries = sizeof(pse)/sizeof(pse[0]);
+ strtable.cEntries = ARRAY_SIZE(pse);
strtable.pse = pse;
hAdvpack = LoadLibraryW(wszAdvpack);
@@ -508,7 +508,7 @@ static HRESULT register_server(BOOL do_register)
FreeLibrary(hAdvpack);
- for(i=0; i < sizeof(pse)/sizeof(pse[0]); i++)
+ for(i=0; i < ARRAY_SIZE(pse); i++)
heap_free(pse[i].pszValue);
if(FAILED(hres))
diff --git a/dlls/mshtml/mutation.c b/dlls/mshtml/mutation.c
index 39a0e58308..6508270d35 100644
--- a/dlls/mshtml/mutation.c
+++ b/dlls/mshtml/mutation.c
@@ -131,10 +131,10 @@ static PRUnichar *handle_insert_comment(HTMLDocumentNode *doc, const PRUnichar *
ptr += 2;
len = strlenW(ptr);
- if(len < sizeof(endifW)/sizeof(WCHAR))
+ if(len < ARRAY_SIZE(endifW))
return NULL;
- end = ptr + len-sizeof(endifW)/sizeof(WCHAR);
+ end = ptr + len - ARRAY_SIZE(endifW);
if(memcmp(end, endifW, sizeof(endifW)))
return NULL;
@@ -398,7 +398,7 @@ static BOOL parse_ua_compatible(const WCHAR *p, compat_mode_t *r)
TRACE("%s\n", debugstr_w(p));
- if(strncmpiW(ie_eqW, p, sizeof(ie_eqW)/sizeof(WCHAR)))
+ if(strncmpiW(ie_eqW, p, ARRAY_SIZE(ie_eqW)))
return FALSE;
p += 3;
diff --git a/dlls/mshtml/navigate.c b/dlls/mshtml/navigate.c
index cd18287178..f331cfdef5 100644
--- a/dlls/mshtml/navigate.c
+++ b/dlls/mshtml/navigate.c
@@ -728,13 +728,13 @@ static void parse_content_type(nsChannelBSC *This, const WCHAR *value)
ptr++;
len = strlenW(value);
- if(ptr + sizeof(charsetW)/sizeof(WCHAR) < value+len && !memicmpW(ptr, charsetW, sizeof(charsetW)/sizeof(WCHAR))) {
+ if(ptr + ARRAY_SIZE(charsetW) < value+len && !memicmpW(ptr, charsetW, ARRAY_SIZE(charsetW))) {
size_t charset_len, lena;
nsACString charset_str;
const WCHAR *charset;
char *charseta;
- ptr += sizeof(charsetW)/sizeof(WCHAR);
+ ptr += ARRAY_SIZE(charsetW);
if(*ptr == '\'') {
FIXME("Quoted value\n");
diff --git a/dlls/mshtml/nsembed.c b/dlls/mshtml/nsembed.c
index 9c2d5e51f9..6aae9c2948 100644
--- a/dlls/mshtml/nsembed.c
+++ b/dlls/mshtml/nsembed.c
@@ -242,7 +242,7 @@ static nsresult create_profile_directory(void)
{
static const WCHAR wine_geckoW[] = {'\\','w','i','n','e','_','g','e','c','k','o',0};
- WCHAR path[MAX_PATH + sizeof(wine_geckoW)/sizeof(WCHAR)];
+ WCHAR path[MAX_PATH + ARRAY_SIZE(wine_geckoW)];
cpp_bool exists;
nsresult nsres;
HRESULT hres;
@@ -309,7 +309,7 @@ static nsresult NSAPI nsDirectoryServiceProvider2_GetFiles(nsIDirectoryServicePr
if(!plugin_directory) {
static const WCHAR gecko_pluginW[] = {'\\','g','e','c','k','o','\\','p','l','u','g','i','n',0};
- len = GetSystemDirectoryW(plugin_path, (sizeof(plugin_path)-sizeof(gecko_pluginW))/sizeof(WCHAR)+1);
+ len = GetSystemDirectoryW(plugin_path, ARRAY_SIZE(plugin_path)-ARRAY_SIZE(gecko_pluginW)+1);
if(!len)
return NS_ERROR_UNEXPECTED;
@@ -413,7 +413,7 @@ static BOOL install_wine_gecko(void)
static const WCHAR argsW[] =
{' ','a','p','p','w','i','z','.','c','p','l',' ','i','n','s','t','a','l','l','_','g','e','c','k','o',0};
- len = GetSystemDirectoryW(app, MAX_PATH-sizeof(controlW)/sizeof(WCHAR));
+ len = GetSystemDirectoryW(app, MAX_PATH-ARRAY_SIZE(controlW));
memcpy(app+len, controlW, sizeof(controlW));
args = heap_alloc(len*sizeof(WCHAR) + sizeof(controlW) + sizeof(argsW));
@@ -421,7 +421,7 @@ static BOOL install_wine_gecko(void)
return FALSE;
memcpy(args, app, len*sizeof(WCHAR) + sizeof(controlW));
- memcpy(args + len + sizeof(controlW)/sizeof(WCHAR)-1, argsW, sizeof(argsW));
+ memcpy(args + len + ARRAY_SIZE(controlW)-1, argsW, sizeof(argsW));
TRACE("starting %s\n", debugstr_w(args));
diff --git a/dlls/mshtml/nsio.c b/dlls/mshtml/nsio.c
index 7333334f6e..d5e4983616 100644
--- a/dlls/mshtml/nsio.c
+++ b/dlls/mshtml/nsio.c
@@ -198,8 +198,8 @@ HRESULT nsuri_to_url(LPCWSTR nsuri, BOOL ret_empty, BSTR *ret)
static const WCHAR wine_prefixW[] = {'w','i','n','e',':'};
- if(!strncmpW(nsuri, wine_prefixW, sizeof(wine_prefixW)/sizeof(WCHAR)))
- ptr += sizeof(wine_prefixW)/sizeof(WCHAR);
+ if(!strncmpW(nsuri, wine_prefixW, ARRAY_SIZE(wine_prefixW)))
+ ptr += ARRAY_SIZE(wine_prefixW);
if(*ptr || ret_empty) {
*ret = SysAllocString(ptr);
@@ -1271,7 +1271,7 @@ static nsresult NSAPI nsChannel_SetRequestMethod(nsIHttpChannel *iface,
TRACE("(%p)->(%s)\n", This, debugstr_nsacstr(aRequestMethod));
nsACString_GetData(aRequestMethod, &method);
- for(i=0; i < sizeof(request_method_strings)/sizeof(*request_method_strings); i++) {
+ for(i=0; i < ARRAY_SIZE(request_method_strings); i++) {
if(!strcasecmp(method, request_method_strings[i])) {
This->request_method = i;
return NS_OK;
@@ -1356,7 +1356,7 @@ static nsresult NSAPI nsChannel_SetReferrerWithPolicy(nsIHttpChannel *iface, nsI
hres = IUri_GetDisplayUri(referrer->uri, &referrer_uri);
if(SUCCEEDED(hres)) {
- set_http_header(&This->request_headers, refererW, sizeof(refererW)/sizeof(WCHAR), referrer_uri, SysStringLen(referrer_uri));
+ set_http_header(&This->request_headers, refererW, ARRAY_SIZE(refererW), referrer_uri, SysStringLen(referrer_uri));
SysFreeString(referrer_uri);
}
@@ -1584,7 +1584,7 @@ static nsresult NSAPI nsChannel_IsNoStoreResponse(nsIHttpChannel *iface, cpp_boo
TRACE("(%p)->(%p)\n", This, _retval);
- header = find_http_header(&This->response_headers, cache_controlW, sizeof(cache_controlW)/sizeof(WCHAR));
+ header = find_http_header(&This->response_headers, cache_controlW, ARRAY_SIZE(cache_controlW));
*_retval = header && !strcmpiW(header->data, no_storeW);
return NS_OK;
}
@@ -1756,8 +1756,7 @@ static nsresult NSAPI nsUploadChannel_SetUploadStream(nsIUploadChannel *iface,
if(!ct)
return NS_ERROR_UNEXPECTED;
- set_http_header(&This->request_headers, content_typeW,
- sizeof(content_typeW)/sizeof(WCHAR), ct, strlenW(ct));
+ set_http_header(&This->request_headers, content_typeW, ARRAY_SIZE(content_typeW), ct, strlenW(ct));
heap_free(ct);
This->post_data_contains_headers = FALSE;
}
@@ -2840,7 +2839,7 @@ static nsresult NSAPI nsURI_SchemeIs(nsIFileURL *iface, const char *scheme, cpp_
if(FAILED(hres))
return NS_ERROR_UNEXPECTED;
- MultiByteToWideChar(CP_UTF8, 0, scheme, -1, buf, sizeof(buf)/sizeof(WCHAR));
+ MultiByteToWideChar(CP_UTF8, 0, scheme, -1, buf, ARRAY_SIZE(buf));
*_retval = !strcmpW(scheme_name, buf);
SysFreeString(scheme_name);
return NS_OK;
@@ -3296,7 +3295,7 @@ static nsresult NSAPI nsFileURL_GetFile(nsIFileURL *iface, nsIFile **aFile)
TRACE("(%p)->(%p)\n", This, aFile);
- hres = CoInternetParseIUri(This->uri, PARSE_PATH_FROM_URL, 0, path, sizeof(path)/sizeof(WCHAR), &size, 0);
+ hres = CoInternetParseIUri(This->uri, PARSE_PATH_FROM_URL, 0, path, ARRAY_SIZE(path), &size, 0);
if(FAILED(hres)) {
WARN("CoInternetParseIUri failed: %08x\n", hres);
return NS_ERROR_FAILURE;
@@ -3830,7 +3829,7 @@ static BOOL is_gecko_special_uri(const char *spec)
static const char *special_schemes[] = {"chrome:", "data:", "jar:", "moz-safe-about", "resource:", "javascript:", "wyciwyg:"};
unsigned int i;
- for(i=0; i < sizeof(special_schemes)/sizeof(*special_schemes); i++) {
+ for(i=0; i < ARRAY_SIZE(special_schemes); i++) {
if(!strncasecmp(spec, special_schemes[i], strlen(special_schemes[i])))
return TRUE;
}
@@ -3894,7 +3893,7 @@ static nsresult NSAPI nsIOServiceHook_NewURI(nsIIOServiceHook *iface, const nsAC
SysFreeString(charset);
}
- MultiByteToWideChar(cp, 0, spec, -1, new_spec, sizeof(new_spec)/sizeof(WCHAR));
+ MultiByteToWideChar(cp, 0, spec, -1, new_spec, ARRAY_SIZE(new_spec));
if(base_wine_uri) {
hres = combine_url(base_wine_uri->uri, new_spec, &urlmon_uri);
diff --git a/dlls/mshtml/olecmd.c b/dlls/mshtml/olecmd.c
index ece5874f07..e5fc474bbe 100644
--- a/dlls/mshtml/olecmd.c
+++ b/dlls/mshtml/olecmd.c
@@ -228,13 +228,10 @@ static void set_default_templates(nsIPrintSettings *settings)
nsIPrintSettings_SetFooterStrRight(settings, empty);
nsIPrintSettings_SetFooterStrCenter(settings, empty);
- if(LoadStringW(get_shdoclc(), IDS_PRINT_HEADER_TEMPLATE, buf,
- sizeof(buf)/sizeof(WCHAR)))
+ if(LoadStringW(get_shdoclc(), IDS_PRINT_HEADER_TEMPLATE, buf, ARRAY_SIZE(buf)))
set_print_template(settings, buf, TRUE);
-
- if(LoadStringW(get_shdoclc(), IDS_PRINT_FOOTER_TEMPLATE, buf,
- sizeof(buf)/sizeof(WCHAR)))
+ if(LoadStringW(get_shdoclc(), IDS_PRINT_FOOTER_TEMPLATE, buf, ARRAY_SIZE(buf)))
set_print_template(settings, buf, FALSE);
}
@@ -838,7 +835,7 @@ static HRESULT WINAPI OleCommandTarget_QueryStatus(IOleCommandTarget *iface, con
ULONG i;
for(i=0; i<cCmds; i++) {
- if(prgCmds[i].cmdID < OLECMDID_OPEN || prgCmds[i].cmdID >= sizeof(exec_table)/sizeof(*exec_table)) {
+ if(prgCmds[i].cmdID < OLECMDID_OPEN || prgCmds[i].cmdID >= ARRAY_SIZE(exec_table)) {
WARN("Unsupported cmdID = %d\n", prgCmds[i].cmdID);
prgCmds[i].cmdf = 0;
}else {
@@ -909,7 +906,7 @@ static HRESULT WINAPI OleCommandTarget_Exec(IOleCommandTarget *iface, const GUID
HTMLDocument *This = impl_from_IOleCommandTarget(iface);
if(!pguidCmdGroup) {
- if(nCmdID < OLECMDID_OPEN || nCmdID >= sizeof(exec_table)/sizeof(*exec_table) || !exec_table[nCmdID].func) {
+ if(nCmdID < OLECMDID_OPEN || nCmdID >= ARRAY_SIZE(exec_table) || !exec_table[nCmdID].func) {
WARN("Unsupported cmdID = %d\n", nCmdID);
return OLECMDERR_E_NOTSUPPORTED;
}
diff --git a/dlls/mshtml/pluginhost.c b/dlls/mshtml/pluginhost.c
index 256850be06..933e35cdcd 100644
--- a/dlls/mshtml/pluginhost.c
+++ b/dlls/mshtml/pluginhost.c
@@ -2269,10 +2269,10 @@ static BOOL parse_classid(const PRUnichar *classid, CLSID *clsid)
static const PRUnichar clsidW[] = {'c','l','s','i','d',':'};
- if(strncmpiW(classid, clsidW, sizeof(clsidW)/sizeof(WCHAR)))
+ if(strncmpiW(classid, clsidW, ARRAY_SIZE(clsidW)))
return FALSE;
- ptr = classid + sizeof(clsidW)/sizeof(WCHAR);
+ ptr = classid + ARRAY_SIZE(clsidW);
len = strlenW(ptr);
if(len == 38) {
diff --git a/dlls/mshtml/protocol.c b/dlls/mshtml/protocol.c
index d385f16185..f7b02c9aa0 100644
--- a/dlls/mshtml/protocol.c
+++ b/dlls/mshtml/protocol.c
@@ -370,8 +370,8 @@ static HRESULT WINAPI AboutProtocol_Start(IInternetProtocol *iface, LPCWSTR szUr
TRACE("bindf %x\n", grfBINDF);
- if(strlenW(szUrl)>=sizeof(wszAbout)/sizeof(WCHAR) && !memcmp(wszAbout, szUrl, sizeof(wszAbout))) {
- text = szUrl + sizeof(wszAbout)/sizeof(WCHAR);
+ if(strlenW(szUrl) >= ARRAY_SIZE(wszAbout) && !memcmp(wszAbout, szUrl, sizeof(wszAbout))) {
+ text = szUrl + ARRAY_SIZE(wszAbout);
if(!strcmpW(wszBlank, text))
text = NULL;
}
@@ -570,14 +570,14 @@ static HRESULT WINAPI ResProtocol_Start(IInternetProtocol *iface, LPCWSTR szUrl,
return hres;
}
- if(len < sizeof(wszRes)/sizeof(wszRes[0]) || memcmp(url, wszRes, sizeof(wszRes))) {
+ if(len < ARRAY_SIZE(wszRes) || memcmp(url, wszRes, sizeof(wszRes))) {
WARN("Wrong protocol of url: %s\n", debugstr_w(url));
IInternetProtocolSink_ReportResult(pOIProtSink, E_INVALIDARG, 0, NULL);
heap_free(url);
return E_INVALIDARG;
}
- url_dll = url + sizeof(wszRes)/sizeof(wszRes[0]);
+ url_dll = url + ARRAY_SIZE(wszRes);
if(!(res_type = strchrW(url_dll, '/'))) {
WARN("wrong url: %s\n", debugstr_w(url));
IInternetProtocolSink_ReportResult(pOIProtSink, MK_E_SYNTAX, 0, NULL);
@@ -692,23 +692,23 @@ static HRESULT WINAPI ResProtocolInfo_ParseUrl(IInternetProtocolInfo *iface, LPC
static const WCHAR wszFile[] = {'f','i','l','e',':','/','/'};
static const WCHAR wszRes[] = {'r','e','s',':','/','/'};
- if(strlenW(pwzUrl) <= sizeof(wszRes)/sizeof(WCHAR) || memcmp(pwzUrl, wszRes, sizeof(wszRes)))
+ if(strlenW(pwzUrl) <= ARRAY_SIZE(wszRes) || memcmp(pwzUrl, wszRes, sizeof(wszRes)))
return E_INVALIDARG;
- ptr = strchrW(pwzUrl + sizeof(wszRes)/sizeof(WCHAR), '/');
+ ptr = strchrW(pwzUrl + ARRAY_SIZE(wszRes), '/');
if(!ptr)
return E_INVALIDARG;
- len = ptr - (pwzUrl + sizeof(wszRes)/sizeof(WCHAR));
- if(len >= sizeof(file_part)/sizeof(WCHAR)) {
+ len = ptr - (pwzUrl + ARRAY_SIZE(wszRes));
+ if(len >= ARRAY_SIZE(file_part)) {
FIXME("Too long URL\n");
return MK_E_SYNTAX;
}
- memcpy(file_part, pwzUrl + sizeof(wszRes)/sizeof(WCHAR), len*sizeof(WCHAR));
+ memcpy(file_part, pwzUrl + ARRAY_SIZE(wszRes), len*sizeof(WCHAR));
file_part[len] = 0;
- len = SearchPathW(NULL, file_part, NULL, sizeof(full_path)/sizeof(WCHAR), full_path, NULL);
+ len = SearchPathW(NULL, file_part, NULL, ARRAY_SIZE(full_path), full_path, NULL);
if(!len) {
HMODULE module;
@@ -720,20 +720,20 @@ static HRESULT WINAPI ResProtocolInfo_ParseUrl(IInternetProtocolInfo *iface, LPC
return MK_E_SYNTAX;
}
- len = GetModuleFileNameW(module, full_path, sizeof(full_path)/sizeof(WCHAR));
+ len = GetModuleFileNameW(module, full_path, ARRAY_SIZE(full_path));
FreeLibrary(module);
if(!len)
return E_FAIL;
}
- size = sizeof(wszFile)/sizeof(WCHAR) + len + 1;
+ size = ARRAY_SIZE(wszFile) + len + 1;
if(pcchResult)
*pcchResult = size;
if(size > cchResult)
return S_FALSE;
memcpy(pwzResult, wszFile, sizeof(wszFile));
- memcpy(pwzResult + sizeof(wszFile)/sizeof(WCHAR), full_path, (len+1)*sizeof(WCHAR));
+ memcpy(pwzResult + ARRAY_SIZE(wszFile), full_path, (len+1)*sizeof(WCHAR));
return S_OK;
}
diff --git a/dlls/mshtml/script.c b/dlls/mshtml/script.c
index 7acbd5bd0a..d7b4e92310 100644
--- a/dlls/mshtml/script.c
+++ b/dlls/mshtml/script.c
@@ -1054,8 +1054,8 @@ HRESULT load_script(HTMLScriptElement *script_elem, const WCHAR *src, BOOL async
static const WCHAR wine_schemaW[] = {'w','i','n','e',':'};
- if(strlenW(src) > sizeof(wine_schemaW)/sizeof(WCHAR) && !memcmp(src, wine_schemaW, sizeof(wine_schemaW)))
- src += sizeof(wine_schemaW)/sizeof(WCHAR);
+ if(strlenW(src) > ARRAY_SIZE(wine_schemaW) && !memcmp(src, wine_schemaW, sizeof(wine_schemaW)))
+ src += ARRAY_SIZE(wine_schemaW);
TRACE("(%p %s %x)\n", script_elem, debugstr_w(src), async);
diff --git a/dlls/mshtml/view.c b/dlls/mshtml/view.c
index 531c680523..442b07d89a 100644
--- a/dlls/mshtml/view.c
+++ b/dlls/mshtml/view.c
@@ -411,10 +411,8 @@ HRESULT call_set_active_object(IOleInPlaceUIWindow *window, IOleInPlaceActiveObj
{
static WCHAR html_documentW[30];
- if(act_obj && !html_documentW[0]) {
- LoadStringW(hInst, IDS_HTMLDOCUMENT, html_documentW,
- sizeof(html_documentW)/sizeof(WCHAR));
- }
+ if(act_obj && !html_documentW[0])
+ LoadStringW(hInst, IDS_HTMLDOCUMENT, html_documentW, ARRAY_SIZE(html_documentW));
return IOleInPlaceUIWindow_SetActiveObject(window, act_obj, act_obj ? html_documentW : NULL);
}
--
2.14.4
2
1
24 Aug '18
Signed-off-by: Alex Henrie <alexhenrie24(a)gmail.com>
---
The version of ImageMagick that was released last week started requiring
the -density parameter to scale SVGs properly, and I didn't notice until
after I had done several of these icons. For the sleep and shutdown
icons, redoing them correctly makes them look noticeably better.
---
dlls/shell32/resources/sleep.ico | Bin 65140 -> 65144 bytes
dlls/shell32/resources/sleep.svg | 244 ++++++++++++++-----------------
2 files changed, 112 insertions(+), 132 deletions(-)
diff --git a/dlls/shell32/resources/sleep.ico b/dlls/shell32/resources/sleep.ico
index df7a0b05321f0ef3f7f029a1df735cd2f0e75ef3..7c3f26ecb6df0007b8f85ae704a67989d47996da 100644
GIT binary patch
delta 34726
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
delta 34939
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%0DcuW&b)ysoq4W9jV5@
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
DmC}B;
diff --git a/dlls/shell32/resources/sleep.svg b/dlls/shell32/resources/sleep.svg
index 845d67248b..659f74e417 100644
--- a/dlls/shell32/resources/sleep.svg
+++ b/dlls/shell32/resources/sleep.svg
@@ -1133,72 +1133,62 @@
preserveAspectRatio="none"
xlink:href="data:image/png;base64,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
-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
+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
+gqRg3L24yOXLV5ifn+eDDz743wOgo1jkCwW3sbnJ0SNHyeVyVKoVarUajUZ96H92lFJkwyxhmMX3
+fZaXr1EoFKjXG2xVt25Jj1sGcO7cr9g1u4u3z5+nVCqxa2aGgwfnmT+wwMTEBABRFKGNxlc+vu8T
+RRFr62ssX7/G0tIS1WqV82+fp1gssnJt5Zb0uK0k9kd8HvjMA25sfJS5uf3s2j2DEII4jgkzWSZy
+O8hkQypbZUpbZbSN8VWA1k2ufniNjY0NVq+vitdf/8Ut63BbANo0OTPJ0YXDTM3sdL7yMa3+NZvN
+Ir3kPqdeT0qw53k0mk3W19bFO2+/QxzHt7X2fwuAfspms9x1126CYATnOZx2VCoVVldXb1vhO3SH
+7tD/MfpP5j2HCh7EY8QAAAAUdEVYdEF1dGhvcgBKYWt1YiBTdGVpbmVy5vv3LwAAAFh0RVh0Q29w
+eXJpZ2h0AENDMCBQdWJsaWMgRG9tYWluIERlZGljYXRpb24gaHR0cDovL2NyZWF0aXZlY29tbW9u
+cy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wL8bjvfkAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTgt
+MDgtMjNUMjI6Mjg6MjctMDY6MDCJVk2eAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE4LTA4LTIzVDIy
+OjI4OjI3LTA2OjAw+Av1IgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAi
+dEVYdFNvdXJjZQBodHRwOi8vamltbWFjLm11c2ljaGFsbC5jei/1acjEAAAAEXRFWHRUaXRsZQBT
+Y3JlZW5zYWNlcrPCbswAAAAASUVORK5CYII=
"
id="icon:48-8"
x="328"
@@ -1209,72 +1199,62 @@ dFRpdGxlAFNjcmVlbnNhY2Vys8JuzAAAAABJRU5ErkJggg==
preserveAspectRatio="none"
xlink:href="data:image/png;base64,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
-CXBIWXMAAAsvAAALLwEA0SIxAAAAB3RJTUUH4ggUDzI5wXoAZAAADQhJREFUaN7tmVtvXNd1x3/7
-cubOISmJrGjJpiXZjls7toygaYEE6IvT9rmAX/0RCgQI3E9Q5M1A4Je0efNn8IORpzYBWtSpr7El
-2fFFlkSLskRyOJzLuey9Vh/OmTMzJJ3WdoC+eAMHnBmes/f6r8t/XQ58t/5/l1n88st//SUAqkqz
-0aDZbJI0GhhjvtamKgqqKIqKoqr1vrNr/l2IC/eICGi1DwoqDIdHjMdjDg+HZFlGo9Hg5ZdfBsAv
-HbywsYgQY8SJfCMAqqUgS0JrKdQyEEWiIMdAzu5FlRgjMUZEBFkAewLAoqDWWnXe46zFWLv00P9u
-V0XFVAJ8lebnADAGIycBVHDx3uG9N9ZarLVLctYAVJVXX32VGCOqyvnz59nefgTrDMbwlVY4Dmvp
-8FqT1Z31v3TmINU91efZhqqIKFEEVJmmGQ/uP9D//t2bBqDRaJxuAWstV65c4ebNm9rv9zm3scnN
-mw84OBgTQmQZg6mEPA5gZk0wpharfsYasxR5qooKyIJGnLOcOdNha6tXHWOwxmKtVWutsdaeBPD6
-66/T7XYZDAZ02h2SxDEYjPj1r6/x6ae75FkOJ6ygtcQzb5iJayw4C6jMxTfgvMMaU2tbUUKAKLPI
-VaxrcPW5h3j++ctYa+h1VzDGLF0nAFy7do2f/eyf+MUvXubRR7dxzhFCZHBwRKctnN9soHN55wxT
-gVClDESdWUUrIc38uyqqYdnXKZ/TynVUlcPDgsPBiPF4jPeeTruHQh3IMcaTAIwx/PSn/4iqkiQJ
-3ntEhTwPGATvDTEqUZROKwFgMs0XBAMqQM45AEIIKIox1CBmbrcY0KaOEsUAISohzFnMVBuISn2d
-GgPdThdVxSce60rmiVGJIZDniveWrU3Hha0VRhPlwz8ckOdhidqaTcv5zQYhCLfuZIjMY2DOPiUg
-rT1sHiuqEEMJpNFIwBisteiC8IsA7CIA70s8zjucc3U+KEKkCIJ3cOlhz9Xv97j8aA/vLSJCCJEQ
-BFWh2bRcOO/ZPOsqJimVEIKUyohKjEKMgkrEuxQIhKDkeSBNC7K8QBSc87XPL1LvqXnAOUfSSLDW
-4l2Cc5YiCFHKg0MRGR4F3r8+IcuF0dgwGEwQkVqrIsreXsp/vZUjAkUhx7h/bgkRaDUzLl+8yd37
-59i51ydLJ0ynGUejJtNpTpbnhKIgrIbKRcuYmlPWAoAYIyqlxp1zWOsQCUgsM2WMEIJy776Q5WNC
-NOR5WHIPKEuBNIsL7KlLws/cJMsizgx5/OGP2Dr7Gelki9990ifGSBF6FEVJ27PMDYp3DhHBe3d6
-DMzoaZbxRLWygCBCpVVDlhe1xstco7WwNaVyUmgRIcsKsixnPA70e4c0/ICnrowZDidc/3CbvUGb
-Ii9LBmNt6dYVCTjv8Ko4508CMFWw1H+r8kHjzIfn7BHjoqDQbpUamaaBGPUEAJGynsmynMPDMaPR
-hMkkEM5M2Bs0+YsnCv7y2ZTbX+zz729cZD83VWxRJr7K7611OKdYd0oiExGilEWTcxbnLCrzGCgF
-m4NQrRKTszz79ArWWt54a0hRFKjK0r2TScrR0YTxOCWEkrWMcRjjEXH4xjmuXCr48Q93efP9C+wd
-GEIRGY8y0Iz+Sh9MKbhVi7NzF6qhWGsr3y+1b41BKwaZMYkqrHQTvLe1VYpC2NvPebCXkWWhrhhD
-EKbTjL29Ifv7R4xGKUURUTUY47DWk3jLSreg2WzS7rQ4ty50O+BsuW+eK51uB+9dZYFSRmMNL7zw
-wle7kKm+l76vSGWBVtNx8UKbB3s5u1+mhBCJUbl5a4pCBQDyonSXLM2YTsv7tKLF6jQwhmbTsNYv
-aDYMxjTxvsFKT2g2SgVkqdBqtXAVAO89IkK32z1pgeXMWK48hLJWF63MDv1+QrfbwHtXB/HgsGAw
-KIhBQCcYOaDIBkwmU0QM1nqc80t/+z3h4a0JZ9YtjYYDHNY5Wk1oNCAGYTQqCFGQqidJvEdFufrs
-M6e50PzCGKJAOg2IxFrQ0Tjwxpv7fPzpIZNJXjGTEiNkmVAUYzbXP+OvnvmAHzx1m343kvjS7N57
-fJUgrfU8eWWff/j7j7nw0Co+6aISCKHgaNJFtImIMDrKkShlVWXAJwkhBp5//m9PBnGpd4NiFEqh
-0jQgVUDOQOR5gVJVuQvUWOaEwN5Bix//YJ+/+eGAZ578kvv7He49WOHgsEMRLasrGRfPH/DUE0Oe
-+p5npb+OtQlRAkWhhNDA+QYiymiUl2WKCNYYkqR0ITB1vbXU0OjC3xiU6TTUmbbqLUqQooSqHAgh
-kueBECJgeXCwRogNLm2nXLky4OioYPd+xt5BgxAsa/2CRy6M2DjnaLbOkiQdYjji/oOCj29uEmKL
-JHEoVOdr5daGxCfEENne3iaEcAyAzLRcChyiMJmUmVirJDajxhiFoggLhRxY6wBDFM/Hn29xeVt5
-6knP6mqHixciUXJUFO8SrH8I61olfcecwWCPDz5s8p/vPEFWtGkkDtSS5zKvXI0hSRJCCDSShKIo
-TpYSEiNiLagQCmE8Kt1FFIoiVgXZYmNtmTVHZcFV5oa3rz1Oq2U5u3aN838W6XTX8clqVS6bstsB
-YkgZDna49lGTt689wp3dLVQ93isYu5B7FGMNLnGIRJrNVk06yy6k82lCCMp4nNecboyprGAqLp81
-aGahUSs/TLOEd29cQsXz18/d5bFLu6z2wZomWIvEUGr+yPDmexu8c/0in9zaIkoLa8tW1FDS+Kwi
-NpUFyn7l1FKiEsiU04SQR8ajosoJVEKbSuOmfmZR8BkggIPhGd74fY9p1uazO/c4uz6l0zJ4r2R5
-k8m0x/5hm/c/usyd3U2maQvvZUYPGGOJUrlQ1RSVxVxpjRMWMNZiq0yMUfIiMpkEjLEY41luHUxd
-Cy0KvditW2PIixZvffAkb1//Ht12ylr/iGajYDxtMxz1SLN2tYehJBVXAxAxhFk5XgWxs6ULganY
-aLEfsA4VxRoLClHKJiYvPEWhS430ouZPWuG08YshTRMGwy7WKKIWEXsq8FoeB2laDrxmwjpfspP3
-rj6nBmCtqYu4GIWzZ1v86EcXuHy5X9bmp4hV54Njv4sIRVFQFBmq0Gq18L5Rmb1yEQCj843qWCxd
-JvGO9TMt2i1PrNzGOYcxRpvNlpl1j0suZKoGWkTpdhyPPb7ChYvtE33tEohZCbKAKkokz3LyPEUV
-2u0OSaNRu8OS1HpyX1XFOUOSWIwJZGlZDfhqJNNsJHVTs0Sjs3FFEQJ5URBjQZKUp9RDhaVGZfH3
-2SyzpN3EO9rtNihYZ7A2Lsw7F54/8Xlek8UIIZbeIbGc0KlKPS1cAjA8PCTGiPeeo+ER6+trdDsr
-zFvCucZkYYo1GxXOhoX1OHFGyQv6LqfWc2Hrp/R4E7R8nrGWew++5Ma1G4xGY5OlOVkrXwaQ5zkx
-RGKM5s7OHR0MBlhjUbRMcFVzo1JWh1IPYZUQQtmoqJAkyYx3lwe61SBMRCjyskQpew9Ta3zGauUk
-ogzusrw3jMYj7n6xa6bTlMl0SqfbWwbwm9/8B7/97b/xk5/8HQfDQ5P4BG8dRREoinzhCsQQCTGi
-Kuq8o9Fo0O106PW6JM3mPLCPjUC00vBkMuHwcMjoaESRFzPlGWNLqrTOlYRiHc47DIYQA+PxmDRN
-WV9fx9pjLHT16vd5+uk/xyee3kqPjY0NfvUvv+LWrVsURVHXSLN42dzc5LHHHzPblx7R1bVVNjc3
-OHNmnSzLlsy/NNo1BucdMQqDwYDd3V0GBwMe7N037733+3L+yvJwwTnH6uoqL774ItevX6fT6QDw
-2muvLQNYXDs7O/z8n3/OH1vb249w6dK2Xn3uKuc2ztFqtVAV9vf2CSGcyAdaCeaThF6vy8MPX+DS
-o9t88slneJ9oluXm3XfeXXomxkhRFKRpysbGBjdu3CBNU5rNZn1PDeCVV17h66z+al/7a6uc29hg
-c3MDYw3pdMrq2ioShVMTB6UFOu02rWaTTqvDdJoyGAxYW1tVa62ZJa3j66WXXjr191Mt8H9ZCkZE
-dDweMZl06fa69Ff6rK+tl/WUzt+PGVPlGajGJYEsyzgajZhOpyUJxGC+1lugbwvg4GDA3t4eN29+
-xnQ64fz5LbbOb9Ht9KomnIqtBIup50x5ljGZDvjy/n3u7Oxw+9Ztdm7fYefW7W8kxzcG8IcPPyKG
-wmRZqrt37/H52i3OnDlDb2UFn3iSxNNstHDOkRc5eZ4TKkY7HA452D9gcDDg3r0vzec3P2fni7tf
-7z1ctb7e68fj6L3jymOXWVtfp7/SZ6W/ou1Om6SR0PDlOwZrLSFGihAIRUGR54wnE46GI3M0HLJz
-5wvu7d4jSvxGMnwrAMfX1tYWG5sb9FZ6tJoNLd9lVf1FCCZNM4aDQ3bv7nIwGPxJzvyTAphR5x97
-r7w4f/pufbe+W99+/Q8+zYNZmzUjnwAAABR0RVh0QXV0aG9yAEpha3ViIFN0ZWluZXLm+/cvAAAA
-WHRFWHRDb3B5cmlnaHQAQ0MwIFB1YmxpYyBEb21haW4gRGVkaWNhdGlvbiBodHRwOi8vY3JlYXRp
-dmVjb21tb25zLm9yZy9wdWJsaWNkb21haW4vemVyby8xLjAvxuO9+QAAACV0RVh0ZGF0ZTpjcmVh
-dGUAMjAxOC0wOC0yMFQyMTo1MDo1Ny0wNjowMC19ycwAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTgt
-MDgtMjBUMjE6NTA6NTctMDY6MDBcIHFwAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jn
-m+48GgAAACJ0RVh0U291cmNlAGh0dHA6Ly9qaW1tYWMubXVzaWNoYWxsLmN6L/VpyMQAAAARdEVY
-dFRpdGxlAFNjcmVlbnNhY2Vys8JuzAAAAABJRU5ErkJggg==
+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
+gqRg3L24yOXLV5ifn+eDDz743wOgo1jkCwW3sbnJ0SNHyeVyVKoVarUajUZ96H92lFJkwyxhmMX3
+fZaXr1EoFKjXG2xVt25Jj1sGcO7cr9g1u4u3z5+nVCqxa2aGgwfnmT+wwMTEBABRFKGNxlc+vu8T
+RRFr62ssX7/G0tIS1WqV82+fp1gssnJt5Zb0uK0k9kd8HvjMA25sfJS5uf3s2j2DEII4jgkzWSZy
+O8hkQypbZUpbZbSN8VWA1k2ufniNjY0NVq+vitdf/8Ut63BbANo0OTPJ0YXDTM3sdL7yMa3+NZvN
+Ir3kPqdeT0qw53k0mk3W19bFO2+/QxzHt7X2fwuAfspms9x1126CYATnOZx2VCoVVldXb1vhO3SH
+7tD/MfpP5j2HCh7EY8QAAAAUdEVYdEF1dGhvcgBKYWt1YiBTdGVpbmVy5vv3LwAAAFh0RVh0Q29w
+eXJpZ2h0AENDMCBQdWJsaWMgRG9tYWluIERlZGljYXRpb24gaHR0cDovL2NyZWF0aXZlY29tbW9u
+cy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wL8bjvfkAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTgt
+MDgtMjNUMjI6Mjg6MzItMDY6MDAXxGKnAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE4LTA4LTIzVDIy
+OjI4OjMyLTA2OjAwZpnaGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAi
+dEVYdFNvdXJjZQBodHRwOi8vamltbWFjLm11c2ljaGFsbC5jei/1acjEAAAAEXRFWHRUaXRsZQBT
+Y3JlZW5zYWNlcrPCbswAAAAASUVORK5CYII=
"
id="icon:48-4"
x="384"
--
2.18.0
1
6