Wine-Devel
Threads by month
- ----- 2026 -----
- March
- February
- January
- ----- 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
Aug. 24, 2018
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
Aug. 24, 2018
Signed-off-by: Jacek Caban <jacek(a)codeweavers.com>
---
tools/widl/write_msft.c | 130
+++++++++++++++++++++---------------------------
1 file changed, 56 insertions(+), 74 deletions(-)
1
0
Aug. 24, 2018
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
Aug. 24, 2018
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 Aug. 24, 2018
by Dmitry Timoshkov Aug. 24, 2018
Aug. 24, 2018
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 Aug. 24, 2018
by Dmitry Timoshkov Aug. 24, 2018
Aug. 24, 2018
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 Aug. 24, 2018
by Dmitry Timoshkov Aug. 24, 2018
Aug. 24, 2018
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
Aug. 24, 2018
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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
-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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
+MDgtMjNUMjI6Mjg6MzItMDY6MDAXxGKnAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE4LTA4LTIzVDIy
+OjI4OjMyLTA2OjAwZpnaGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAi
+dEVYdFNvdXJjZQBodHRwOi8vamltbWFjLm11c2ljaGFsbC5jei/1acjEAAAAEXRFWHRUaXRsZQBT
+Y3JlZW5zYWNlcrPCbswAAAAASUVORK5CYII=
"
id="icon:48-4"
x="384"
--
2.18.0
1
6