Wine-Devel
Threads by month
- ----- 2026 -----
- June
- May
- April
- 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
- 6 participants
- 84545 discussions
[PATCH] winex11.drv: Change fullscreen state even when processing events.
by Esme Povirk Feb. 19, 2022
by Esme Povirk Feb. 19, 2022
Feb. 19, 2022
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52532
Signed-off-by: Esme Povirk <esme(a)codeweavers.com>
---
dlls/winex11.drv/window.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
index 36fb41ac710..42f25e9f534 100644
--- a/dlls/winex11.drv/window.c
+++ b/dlls/winex11.drv/window.c
@@ -2536,7 +2536,10 @@ void CDECL X11DRV_WindowPosChanged( HWND hwnd, HWND insert_after, UINT swp_flags
else
{
if (swp_flags & (SWP_FRAMECHANGED|SWP_STATECHANGED)) set_wm_hints( data );
- if (!event_type) update_net_wm_states( data );
+ if (!event_type ||
+ ((swp_flags & (SWP_NOMOVE|SWP_NOSIZE)) != (SWP_NOMOVE|SWP_NOSIZE) &&
+ (is_window_rect_full_screen( &old_whole_rect ) != is_window_rect_full_screen( &data->whole_rect ))))
+ update_net_wm_states( data );
}
}
--
2.30.2
1
0
Hello,
I'm trying to build latest WINE.git for Aarch64.
My system is:
uname -a
Linux debian 5.14.0-4-amd64 #1 SMP Debian 5.14.16-1 (2021-11-03) x86_64 GNU/Linux
I compiled successfully WINE for AMD64, so I have the tools.
Next, I installed the aarch64-linux-gnu cross compiler and the latest clang packages available.
Finally, I configured with:
../configure --host=aarch64-linux-gnu host_alias=aarch64-linux-gnu --with-wine-tools=../wine_amd64_build/ --without-freetype --without-x --enable-win64
as it is described here:
https://wiki.winehq.org/ARM64
but unfortunately it does not work.
The configure process hangs with this message:
checking whether aarch64-linux-gnu-gcc supports __builtin_ms_va_list... no
configure: error: You need clang >= 5.0 to build Wine for arm64.
It seems that I'm missing something and sadly the wiki does not give enough information.
I suspect that those information are completely wrong or just outdated, if you need to use clang for building for ARM64.
Can you give me some advice about which other packages I must install (if any) and/or if there are more things to do, like setting the clang options like target/sysroot/etc?
Talking about the build process, in my opinion it would be worth to integrate that wiki page with such information, if it's possible.
Sincerely.
3
2
Feb. 19, 2022
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
---
dlls/usp10/tests/Makefile.in | 1 -
dlls/usp10/tests/usp10.c | 473 +++++++++++++++++------------------
2 files changed, 234 insertions(+), 240 deletions(-)
diff --git a/dlls/usp10/tests/Makefile.in b/dlls/usp10/tests/Makefile.in
index c0a51922332..131bcee1727 100644
--- a/dlls/usp10/tests/Makefile.in
+++ b/dlls/usp10/tests/Makefile.in
@@ -1,4 +1,3 @@
-EXTRADEFS = -DWINE_NO_LONG_TYPES
TESTDLL = usp10.dll
IMPORTS = usp10 user32 gdi32
diff --git a/dlls/usp10/tests/usp10.c b/dlls/usp10/tests/usp10.c
index 9e870ee3a5f..473b69749d6 100644
--- a/dlls/usp10/tests/usp10.c
+++ b/dlls/usp10/tests/usp10.c
@@ -82,7 +82,7 @@ static inline void _test_items_ok(LPCWSTR string, DWORD cchString,
else
hr = ScriptItemize(string, cchString, 15, Control, State, outpItems, &outnItems);
- winetest_ok(hr == S_OK, "ScriptItemize should return S_OK not %08x\n", hr);
+ winetest_ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
if (nItemsBroken && (broken(nItemsBroken[0] == outnItems) || broken(nItemsBroken[1] == outnItems)))
{
winetest_win_skip("This test broken on this platform: nitems %d\n", outnItems);
@@ -123,9 +123,9 @@ static inline void _test_items_ok(LPCWSTR string, DWORD cchString,
if (pScriptItemizeOpenType)
{
if (items[x].isBroken && broken(tags[x] == items[x].broken_value[5]))
- winetest_win_skip("This test broken on this platform: item %d Script Tag %x\n", x, tags[x]);
+ winetest_win_skip("This test broken on this platform: item %d Script Tag %lx\n", x, tags[x]);
else todo_wine_if (items[x].todo_flag[5])
- winetest_ok(tags[x] == items[x].scriptTag,"%i:Incorrect Script Tag %x != %x\n",x,tags[x],items[x].scriptTag);
+ winetest_ok(tags[x] == items[x].scriptTag,"%i:Incorrect Script Tag %lx != %lx\n",x,tags[x],items[x].scriptTag);
}
}
@@ -950,7 +950,7 @@ static void test_ScriptItemize_surrogates(void)
/* Find Script_Surrogates */
surrogate[0] = 0xd800;
hr = ScriptItemize( surrogate, 1, 2, NULL, NULL, items, &num );
- ok( hr == S_OK, "got %08x\n", hr );
+ ok( hr == S_OK, "Unexpected hr %#lx.\n", hr );
ok( num == 1, "got %d\n", num );
ok( items[0].a.eScript != SCRIPT_UNDEFINED, "got script %x\n", items[0].a.eScript );
Script_Surrogates = items[0].a.eScript;
@@ -958,7 +958,7 @@ static void test_ScriptItemize_surrogates(void)
/* Show that an invalid character has script Script_Surrogates */
make_surrogate( 0x01ffff, surrogate );
hr = ScriptItemize( surrogate, 2, 2, NULL, NULL, items, &num );
- ok( hr == S_OK, "got %08x\n", hr );
+ ok( hr == S_OK, "Unexpected hr %#lx.\n", hr );
ok( num == 1, "got %d\n", num );
ok( items[0].a.eScript == Script_Surrogates, "got script %x\n", items[0].a.eScript );
}
@@ -985,13 +985,13 @@ static inline void _test_shape_ok(int valid, HDC hdc, LPCWSTR string,
ULONG tags[15];
hr = ScriptGetProperties(&script_properties, &script_count);
- winetest_ok(SUCCEEDED(hr), "Failed to get script properties, hr %#x.\n", hr);
+ winetest_ok(SUCCEEDED(hr), "Unexpected hr %#lx.\n", hr);
hr = pScriptItemizeOpenType(string, cchString, 15, Control, State, outpItems, tags, &outnItems);
if (valid > 0)
- winetest_ok(hr == S_OK, "ScriptItemizeOpenType should return S_OK not %08x\n", hr);
+ winetest_ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
else if (hr != S_OK)
- winetest_trace("ScriptItemizeOpenType should return S_OK not %08x\n", hr);
+ winetest_trace("ScriptItemizeOpenType returned %#lx.\n", hr);
if (outnItems <= item)
{
@@ -1025,9 +1025,9 @@ static inline void _test_shape_ok(int valid, HDC hdc, LPCWSTR string,
outpItems[item].a.fLogicalOrder);
hr = pScriptShapeOpenType(hdc, &sc, &outpItems[item].a, tags[item], 0x00000000, NULL, NULL, 0, string, cchString, maxGlyphs, logclust, charProp, glyphs, glyphProp, &outnGlyphs);
if (valid > 0)
- winetest_ok(hr == S_OK, "ScriptShapeOpenType failed (%x)\n",hr);
+ winetest_ok(hr == S_OK, "Unexpected hr %#lx.\n",hr);
else if (hr != S_OK)
- winetest_trace("ScriptShapeOpenType failed (%x)\n",hr);
+ winetest_trace("ScriptShapeOpenType failed hr %#lx.\n",hr);
if (FAILED(hr))
goto cleanup;
@@ -1097,7 +1097,7 @@ static inline void _test_shape_ok(int valid, HDC hdc, LPCWSTR string,
outpItems[item].a.fLogicalOrder = 1;
hr = pScriptShapeOpenType(hdc, &sc, &outpItems[item].a, tags[item], 0x00000000, NULL, NULL, 0,
string, cchString, maxGlyphs, logclust2, charProp2, glyphs2, glyphProp2, &outnGlyphs2);
- winetest_ok(hr == S_OK, "ScriptShapeOpenType failed (%x)\n",hr);
+ winetest_ok(hr == S_OK, "Unexpected hr %#lx.\n",hr);
/* Cluster maps are hard. */
if (tags[item] != thaa_tag && tags[item] != syrc_tag)
{
@@ -1150,7 +1150,7 @@ static inline void _test_shape_ok(int valid, HDC hdc, LPCWSTR string,
outpItems[item].a.fRTL = !outpItems[item].a.fRTL;
hr = pScriptShapeOpenType(hdc, &sc, &outpItems[item].a, tags[item], 0x00000000, NULL, NULL, 0,
string2, cchString, maxGlyphs, logclust2, charProp2, glyphs2, glyphProp2, &outnGlyphs2);
- winetest_ok(hr == S_OK, "ScriptShapeOpenType failed (%x)\n",hr);
+ winetest_ok(hr == S_OK, "Unexpected hr %#lx.\n",hr);
for (x = 0; x < cchString; ++x)
{
unsigned int compare_idx = cchString - x - 1;
@@ -1182,7 +1182,7 @@ static inline void _test_shape_ok(int valid, HDC hdc, LPCWSTR string,
outpItems[item].a.fLogicalOrder = 1;
hr = pScriptShapeOpenType(hdc, &sc, &outpItems[item].a, tags[item], 0x00000000, NULL, NULL, 0,
string2, cchString, maxGlyphs, logclust2, charProp2, glyphs2, glyphProp2, &outnGlyphs2);
- winetest_ok(hr == S_OK, "ScriptShapeOpenType failed (%x)\n",hr);
+ winetest_ok(hr == S_OK, "Unexpected hr %#lx.\n",hr);
for (x = 0; x < cchString; ++x)
{
unsigned int compare_idx = outpItems[item].a.fRTL ? x : cchString - x - 1;
@@ -1649,23 +1649,22 @@ static void test_ScriptShapeOpenType(HDC hdc)
memset(&State, 0 , sizeof(State));
hr = pScriptItemizeOpenType(test1, 4, 2, &Control, &State, items, tags, &outnItems);
- ok(hr == S_OK, "ScriptItemizeOpenType should return S_OK not %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(items[0].a.fNoGlyphIndex == FALSE, "fNoGlyphIndex TRUE\n");
hr = pScriptShapeOpenType(hdc, &sc, &items[0].a, tags[0], 0x00000000, NULL, NULL, 0, test1, 4, 4, NULL, NULL, glyphs, NULL, &nb);
- ok(hr == E_INVALIDARG, "ScriptShapeOpenType should return E_INVALIDARG not %08x\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
hr = pScriptShapeOpenType(hdc, &sc, &items[0].a, tags[0], 0x00000000, NULL, NULL, 0, test1, 4, 4, NULL, NULL, glyphs, glyphProp, NULL);
- ok(hr == E_INVALIDARG, "ScriptShapeOpenType should return E_INVALIDARG not %08x\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
hr = pScriptShapeOpenType(NULL, &sc, &items[0].a, tags[0], 0x00000000, NULL, NULL, 0, test1, 4, 4, NULL, NULL, glyphs, glyphProp, &nb);
- ok(hr == E_INVALIDARG, "ScriptShapeOpenType should return E_PENDING not %08x\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
hr = pScriptShapeOpenType(hdc, &sc, &items[0].a, tags[0], 0x00000000, NULL, NULL, 0, test1, 4, 4, NULL, NULL, glyphs, glyphProp, &nb);
- ok( hr == E_INVALIDARG,
- "ScriptShapeOpenType should return E_FAIL or E_INVALIDARG, not %08x\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
hr = pScriptShapeOpenType(hdc, &sc, &items[0].a, tags[0], 0x00000000, NULL, NULL, 0, test1, 4, 4, logclust, NULL, glyphs, glyphProp, &nb);
- ok(hr == E_INVALIDARG, "ScriptShapeOpenType should return E_INVALIDARG not %08x\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
ScriptFreeCache(&sc);
@@ -1842,31 +1841,31 @@ static void test_ScriptShape(HDC hdc)
int nb, i, j;
hr = ScriptItemize(test1, 4, 2, NULL, NULL, items, NULL);
- ok(hr == S_OK, "ScriptItemize should return S_OK not %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(items[0].a.fNoGlyphIndex == FALSE, "fNoGlyphIndex TRUE\n");
hr = ScriptShape(hdc, &sc, test1, 4, 4, &items[0].a, glyphs, NULL, NULL, &nb);
- ok(hr == E_INVALIDARG, "ScriptShape should return E_INVALIDARG not %08x\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
hr = ScriptShape(hdc, &sc, test1, 4, 4, &items[0].a, glyphs, NULL, attrs, NULL);
- ok(hr == E_INVALIDARG, "ScriptShape should return E_INVALIDARG not %08x\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
hr = ScriptShape(NULL, &sc, test1, 4, 4, &items[0].a, glyphs, NULL, attrs, &nb);
- ok(hr == E_PENDING, "ScriptShape should return E_PENDING not %08x\n", hr);
+ ok(hr == E_PENDING, "Unexpected hr %#lx.\n", hr);
hr = ScriptShape(hdc, &sc, test1, 4, 4, &items[0].a, glyphs, NULL, attrs, &nb);
ok(broken(hr == S_OK) ||
hr == E_INVALIDARG || /* Vista, W2K8 */
hr == E_FAIL, /* WIN7 */
- "ScriptShape should return E_FAIL or E_INVALIDARG, not %08x\n", hr);
+ "Unexpected hr %#lx.\n", hr);
ok(items[0].a.fNoGlyphIndex == FALSE, "fNoGlyphIndex TRUE\n");
hr = ScriptShape(hdc, &sc, test1, 4, 4, &items[0].a, glyphs, logclust, attrs, &nb);
- ok(hr == S_OK, "ScriptShape should return S_OK not %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(items[0].a.fNoGlyphIndex == FALSE, "fNoGlyphIndex TRUE\n");
hr = ScriptShape(hdc, &sc2, test1, 4, 4, &items[0].a, glyphs, logclust, attrs, &nb);
- ok(hr == S_OK, "ScriptShape should return S_OK not %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(sc2 == sc, "caches %p, %p not identical\n", sc, sc2);
ScriptFreeCache(&sc2);
@@ -1874,7 +1873,7 @@ static void test_ScriptShape(HDC hdc)
memset(logclust,-1,sizeof(logclust));
memset(attrs,-1,sizeof(attrs));
hr = ScriptShape(NULL, &sc, test1, 4, 4, &items[0].a, glyphs, logclust, attrs, &nb);
- ok(hr == S_OK, "ScriptShape should return S_OK not %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(nb == 4, "Wrong number of items\n");
ok(logclust[0] == 0, "clusters out of order\n");
ok(logclust[1] == 1, "clusters out of order\n");
@@ -1908,7 +1907,7 @@ static void test_ScriptShape(HDC hdc)
GetGlyphIndicesW(hdc, test2, 4, glyphs3, 0);
hr = ScriptShape(hdc, &sc, test2, 4, 4, &items[0].a, glyphs2, logclust, attrs, &nb);
- ok(hr == S_OK, "ScriptShape should return S_OK not %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(nb == 4, "Wrong number of items\n");
ok(glyphs2[0] == glyphs3[0], "Incorrect glyph for 0x202B\n");
ok(glyphs2[3] == glyphs3[3], "Incorrect glyph for 0x202C\n");
@@ -1939,7 +1938,7 @@ static void test_ScriptShape(HDC hdc)
memset(logclust,-1,sizeof(logclust));
memset(attrs,-1,sizeof(attrs));
hr = ScriptShape(hdc, &sc, test1, 4, 4, &items[0].a, glyphs2, logclust, attrs, &nb);
- ok(hr == S_OK, "ScriptShape should return S_OK not %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(nb == 4, "Wrong number of items\n");
ok(glyphs2[0] == glyphs[3], "Glyphs not reordered properly\n");
ok(glyphs2[1] == glyphs[2], "Glyphs not reordered properly\n");
@@ -2011,10 +2010,10 @@ static void test_ScriptShape(HDC hdc)
}
hr = ScriptItemize(space, 1, 2, NULL, NULL, items, NULL);
- ok(hr == S_OK, "%s: expected S_OK, got %08x\n", lf.lfFaceName, hr);
+ ok(hr == S_OK, "%s: unexpected hr %#lx.\n", lf.lfFaceName, hr);
hr = ScriptShape(hdc, &sc, space, 1, 1, &items[0].a, glyphs, logclust, attrs, &nb);
- ok(hr == S_OK, "%s: expected S_OK, got %08x\n", lf.lfFaceName, hr);
+ ok(hr == S_OK, "%s: unexpected hr %#lx.\n", lf.lfFaceName, hr);
ok(nb == 1, "%s: expected 1, got %d\n", lf.lfFaceName, nb);
chars[0] = 'A';
@@ -2026,7 +2025,7 @@ static void test_ScriptShape(HDC hdc)
chars[1] = c;
hr = ScriptItemize(chars, 3, 4, NULL, NULL, items, &nb);
- ok(hr == S_OK, "%s: [%02x] expected S_OK, got %08x\n", lf.lfFaceName, c, hr);
+ ok(hr == S_OK, "%s: [%02x] unexpected hr %#lx.\n", lf.lfFaceName, c, hr);
ok(nb == test_data[j].item_count, "%s: [%02x] Got unexpected item count %d.\n",
lf.lfFaceName, c, nb);
item = &items[test_data[j].item];
@@ -2034,7 +2033,7 @@ static void test_ScriptShape(HDC hdc)
ok(!item->a.fNoGlyphIndex, "%s: [%02x] got unexpected fNoGlyphIndex %#x.\n",
lf.lfFaceName, c, item->a.fNoGlyphIndex);
hr = ScriptShape(hdc, &sc, chars, 3, 3, &item->a, glyphs2, logclust, attrs, &nb);
- ok(hr == S_OK, "%s: [%02x] expected S_OK, got %08x\n", lf.lfFaceName, c, hr);
+ ok(hr == S_OK, "%s: [%02x] unexpected hr %#lx.\n", lf.lfFaceName, c, hr);
ok(nb == 3, "%s: [%02x] expected 3, got %d\n", lf.lfFaceName, c, nb);
ok(!item->a.fNoGlyphIndex, "%s: [%02x] got unexpected fNoGlyphIndex %#x.\n",
lf.lfFaceName, c, item->a.fNoGlyphIndex);
@@ -2047,7 +2046,7 @@ static void test_ScriptShape(HDC hdc)
item->a.fNoGlyphIndex = 1;
hr = ScriptShape(hdc, &sc, chars, 3, 3, &item->a, glyphs2, logclust, attrs, &nb);
- ok(hr == S_OK, "%s: [%02x] expected S_OK, got %08x\n", lf.lfFaceName, c, hr);
+ ok(hr == S_OK, "%s: [%02x] unexpected hr %#lx.\n", lf.lfFaceName, c, hr);
ok(nb == 3, "%s: [%02x] expected 1, got %d\n", lf.lfFaceName, c, nb);
if (c == 0x200b || c == 0x200c || c == 0x200d)
@@ -2074,7 +2073,7 @@ static void test_ScriptShape(HDC hdc)
memset(items, 0, sizeof(items));
nb = 0;
hr = ScriptItemize(test3, ARRAY_SIZE(test3), ARRAY_SIZE(items), NULL, NULL, items, &nb);
- ok(hr == S_OK, "ScriptItemize failed, hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(items[0].a.eScript > 0, "Expected script id.\n");
ok(nb == 1, "Unexpected number of items.\n");
@@ -2082,7 +2081,7 @@ static void test_ScriptShape(HDC hdc)
nb = 0;
hr = ScriptShape(hdc, &sc, test3, ARRAY_SIZE(test3), ARRAY_SIZE(glyphs),
&items[0].a, glyphs, logclust, attrs, &nb);
- ok(hr == S_OK, "ScriptShape failed, hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(nb == 1, "Unexpected glyph count %u\n", nb);
ok(glyphs[0] == 0, "Unexpected glyph id\n");
ScriptFreeCache(&sc);
@@ -2107,37 +2106,37 @@ static void test_ScriptPlace(HDC hdc)
TEXTMETRICW tm;
hr = ScriptItemize(test1, 4, 2, NULL, NULL, items, NULL);
- ok(hr == S_OK, "ScriptItemize should return S_OK not %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(items[0].a.fNoGlyphIndex == FALSE, "fNoGlyphIndex TRUE\n");
hr = ScriptShape(hdc, &sc, test1, 4, 4, &items[0].a, glyphs, logclust, attrs, &nb);
- ok(hr == S_OK, "ScriptShape should return S_OK not %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(items[0].a.fNoGlyphIndex == FALSE, "fNoGlyphIndex TRUE\n");
hr = ScriptPlace(hdc, &sc, glyphs, 4, NULL, &items[0].a, widths, NULL, NULL);
- ok(hr == E_INVALIDARG, "ScriptPlace should return E_INVALIDARG not %08x\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
hr = ScriptPlace(NULL, &sc, glyphs, 4, attrs, &items[0].a, widths, NULL, NULL);
ok(broken(hr == E_PENDING) ||
hr == E_INVALIDARG || /* Vista, W2K8 */
hr == E_FAIL, /* WIN7 */
- "ScriptPlace should return E_FAIL or E_INVALIDARG, not %08x\n", hr);
+ "Unexpected hr %#lx.\n", hr);
hr = ScriptPlace(NULL, &sc, glyphs, 4, attrs, &items[0].a, widths, offset, NULL);
- ok(hr == E_PENDING, "ScriptPlace should return E_PENDING not %08x\n", hr);
+ ok(hr == E_PENDING, "Unexpected hr %#lx.\n", hr);
hr = ScriptPlace(NULL, &sc, glyphs, 4, attrs, &items[0].a, widths, NULL, abc);
ok(broken(hr == E_PENDING) ||
hr == E_INVALIDARG || /* Vista, W2K8 */
hr == E_FAIL, /* WIN7 */
- "ScriptPlace should return E_FAIL or E_INVALIDARG, not %08x\n", hr);
+ "Unexpected hr %#lx.\n", hr);
hr = ScriptPlace(hdc, &sc, glyphs, 4, attrs, &items[0].a, widths, offset, NULL);
- ok(hr == S_OK, "ScriptPlace should return S_OK not %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(items[0].a.fNoGlyphIndex == FALSE, "fNoGlyphIndex TRUE\n");
hr = ScriptPlace(hdc, &sc2, glyphs, 4, attrs, &items[0].a, widths, offset, NULL);
- ok(hr == S_OK, "ScriptPlace should return S_OK not %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(sc2 == sc, "caches %p, %p not identical\n", sc, sc2);
ScriptFreeCache(&sc2);
@@ -2147,7 +2146,7 @@ static void test_ScriptPlace(HDC hdc)
attrs[0].fZeroWidth = 1;
hr = ScriptPlace(hdc, &sc, glyphs, 4, attrs, &items[0].a, widths, offset, NULL);
- ok(hr == S_OK, "ScriptPlace should return S_OK not %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(widths[0] == 0, "got width %d\n", widths[0]);
widths[0] = old_width;
}
@@ -2182,28 +2181,28 @@ static void test_ScriptPlace(HDC hdc)
if (sz.cx > len * tm.tmAveCharWidth)
{
hr = ScriptItemize(test2, len, 2, NULL, NULL, items, NULL);
- ok(hr == S_OK, "ScriptItemize should return S_OK not %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(items[0].a.fNoGlyphIndex == FALSE, "fNoGlyphIndex TRUE\n");
items[0].a.fNoGlyphIndex = TRUE;
memset(glyphs, 'a', sizeof(glyphs));
hr = ScriptShape(hdc, &sc, test2, len, ARRAY_SIZE(glyphs), &items[0].a, glyphs, logclust, attrs, &nb);
- ok(hr == S_OK, "ScriptShape should return S_OK not %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
memset(offset, 'a', sizeof(offset));
memset(widths, 'a', sizeof(widths));
hr = ScriptPlace(hdc, &sc, glyphs, ARRAY_SIZE(widths), attrs, &items[0].a, widths, offset, NULL);
- ok(hr == S_OK, "ScriptPlace should return S_OK not %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
for (total = 0, i = 0; i < nb; i++)
{
- ok(offset[i].du == 0, "[%d] expected 0, got %d\n", i, offset[i].du);
- ok(offset[i].dv == 0, "[%d] expected 0, got %d\n", i, offset[i].dv);
- ok(widths[i] > tm.tmAveCharWidth, "[%d] expected greater than %d, got %d\n",
+ ok(offset[i].du == 0, "[%ld] expected 0, got %ld\n", i, offset[i].du);
+ ok(offset[i].dv == 0, "[%ld] expected 0, got %ld\n", i, offset[i].dv);
+ ok(widths[i] > tm.tmAveCharWidth, "[%ld] expected greater than %ld, got %d\n",
i, tm.tmAveCharWidth, widths[i]);
total += widths[i];
}
- ok(total == sz.cx, "expected %d, got %d\n", sz.cx, total);
+ ok(total == sz.cx, "expected %ld, got %ld\n", sz.cx, total);
}
else
skip("Associated font is unavailable\n");
@@ -2244,7 +2243,7 @@ static void test_ScriptItemIzeShapePlace(HDC hdc, unsigned short pwOutGlyphs[256
/* Verify we get a valid pointer from ScriptGetProperties(). */
hr = ScriptGetProperties(&ppSp, &iMaxProps);
- ok(hr == S_OK, "ScriptGetProperties failed: 0x%08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
trace("number of script properties %d\n", iMaxProps);
ok(iMaxProps > 0, "Got unexpected script count %d.\n", iMaxProps);
ok(ppSp[0]->langid == 0, "Got unexpected langid %#x.\n", ppSp[0]->langid);
@@ -2252,7 +2251,7 @@ static void test_ScriptItemIzeShapePlace(HDC hdc, unsigned short pwOutGlyphs[256
/* This is a valid test that will cause parsing to take place. */
cInChars = lstrlenW(TestItem1);
hr = ScriptItemize(TestItem1, cInChars, ARRAY_SIZE(pItem), NULL, NULL, pItem, &pcItems);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
/* This test is for the interim operation of ScriptItemize() where only
* one SCRIPT_ITEM is returned. */
ok(pcItems == 1, "Got unexpected item count %d.\n", pcItems);
@@ -2263,15 +2262,15 @@ static void test_ScriptItemIzeShapePlace(HDC hdc, unsigned short pwOutGlyphs[256
psc = NULL;
hr = ScriptShape(NULL, &psc, TestItem1, cInChars, cInChars,
&pItem[0].a, pwOutGlyphs1, pwLogClust, psva, &pcGlyphs);
- ok(hr == E_PENDING, "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_PENDING, "Unexpected hr %#lx.\n", hr);
hr = ScriptShape(hdc, &psc, TestItem1, cInChars, cInChars - 1,
&pItem[0].a, pwOutGlyphs1, pwLogClust, psva, &pcGlyphs);
- ok(hr == E_OUTOFMEMORY, "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_OUTOFMEMORY, "Unexpected hr %#lx.\n", hr);
hr = ScriptShape(hdc, &psc, TestItem1, cInChars, ARRAY_SIZE(pwOutGlyphs1),
&pItem[0].a, pwOutGlyphs1, pwLogClust, psva, &pcGlyphs);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(!!psc, "Got unexpected psc %p.\n", psc);
ok(pcGlyphs == cInChars, "Got unexpected glyph count %d, expected %d.\n", pcGlyphs, cInChars);
@@ -2280,16 +2279,16 @@ static void test_ScriptItemIzeShapePlace(HDC hdc, unsigned short pwOutGlyphs[256
hr = ScriptPlace(hdc, &psc, pwOutGlyphs1, pcGlyphs,
psva, &pItem[0].a, piAdvance, pGoffset, pABC);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
hr = ScriptPlace(NULL, &psc, pwOutGlyphs1, pcGlyphs,
psva, &pItem[0].a, piAdvance, pGoffset, pABC);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
/* This test verifies that SCRIPT_CACHE is reused and that no translation
* takes place if fNoGlyphIndex is set. */
cInChars = lstrlenW(TestItem2);
hr = ScriptItemize(TestItem2, cInChars, ARRAY_SIZE(pItem), NULL, NULL, pItem, &pcItems);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
/* This test is for the interim operation of ScriptItemize() where only
* one SCRIPT_ITEM is returned. */
ok(pcItems == 1, "Got unexpected item count %d.\n", pcItems);
@@ -2300,7 +2299,7 @@ static void test_ScriptItemIzeShapePlace(HDC hdc, unsigned short pwOutGlyphs[256
pItem[0].a.fNoGlyphIndex = 1; /* No translation. */
hr = ScriptShape(NULL, &psc, TestItem2, cInChars, ARRAY_SIZE(pwOutGlyphs1),
&pItem[0].a, pwOutGlyphs1, pwLogClust, psva, &pcGlyphs);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(!!psc, "Got unexpected psc %p.\n", psc);
ok(pcGlyphs == cInChars, "Got unexpected glyph count %d, expected %d.\n", pcGlyphs, cInChars);
@@ -2313,7 +2312,7 @@ static void test_ScriptItemIzeShapePlace(HDC hdc, unsigned short pwOutGlyphs[256
hr = ScriptPlace(hdc, &psc, pwOutGlyphs1, pcGlyphs,
psva, &pItem[0].a, piAdvance, pGoffset, pABC);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ScriptFreeCache(&psc);
ok(!psc, "Got unexpected psc %p.\n", psc);
@@ -2321,7 +2320,7 @@ static void test_ScriptItemIzeShapePlace(HDC hdc, unsigned short pwOutGlyphs[256
* script_items. */
cInChars = lstrlenW(TestItem3);
hr = ScriptItemize(TestItem3, cInChars, ARRAY_SIZE(pItem), NULL, NULL, pItem, &pcItems);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(pcItems == 3, "Got unexpected item count %d.\n", pcItems);
ok(pItem[0].iCharPos == 0, "Got unexpected character position %d.\n", pItem[0].iCharPos);
ok(pItem[1].iCharPos == 6, "Got unexpected character position %d.\n", pItem[1].iCharPos);
@@ -2333,7 +2332,7 @@ static void test_ScriptItemIzeShapePlace(HDC hdc, unsigned short pwOutGlyphs[256
* script_items. */
cInChars = lstrlenW(TestItem4);
hr = ScriptItemize(TestItem4, cInChars, ARRAY_SIZE(pItem), NULL, NULL, pItem, &pcItems);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(pcItems == 5, "Got unexpected item count %d.\n", pcItems);
ok(pItem[0].iCharPos == 0, "Got unexpected character position %d.\n", pItem[0].iCharPos);
@@ -2352,7 +2351,7 @@ static void test_ScriptItemIzeShapePlace(HDC hdc, unsigned short pwOutGlyphs[256
/* This test is for when the first Unicode character requires BiDi support. */
hr = ScriptItemize(TestItem5, lstrlenW(TestItem5), ARRAY_SIZE(pItem), NULL, NULL, pItem, &pcItems);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(pcItems == 4, "Got unexpected item count %d.\n", pcItems);
ok(pItem[0].a.s.uBidiLevel == 1, "Got unexpected bidi level %u.\n", pItem[0].a.s.uBidiLevel);
@@ -2361,7 +2360,7 @@ static void test_ScriptItemIzeShapePlace(HDC hdc, unsigned short pwOutGlyphs[256
* often needs a greater number of SCRIPT_ITEMS to process a string than
* is returned in pcItems. */
hr = ScriptItemize(TestItem6, lstrlenW(TestItem6), 4, NULL, NULL, pItem, &pcItems);
- ok(hr == E_OUTOFMEMORY, "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_OUTOFMEMORY, "Unexpected hr %#lx.\n", hr);
}
static void test_ScriptGetCMap(HDC hdc, unsigned short pwOutGlyphs[256])
@@ -2386,36 +2385,32 @@ static void test_ScriptGetCMap(HDC hdc, unsigned short pwOutGlyphs[256])
/* Some sanity checks for ScriptGetCMap */
hr = ScriptGetCMap(NULL, NULL, NULL, 0, 0, NULL);
- ok( hr == E_INVALIDARG, "(NULL,NULL,NULL,0,0,NULL), "
- "expected E_INVALIDARG, got %08x\n", hr);
+ ok( hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
hr = ScriptGetCMap(NULL, NULL, TestItem1, cInChars, dwFlags, pwOutGlyphs3);
- ok( hr == E_INVALIDARG, "(NULL,NULL,TestItem1, cInChars, dwFlags, pwOutGlyphs3), "
- "expected E_INVALIDARG, got %08x\n", hr);
+ ok( hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
/* Set psc to NULL, to be able to check if a pointer is returned in psc */
psc = NULL;
hr = ScriptGetCMap(NULL, &psc, TestItem1, cInChars, 0, pwOutGlyphs3);
- ok( hr == E_PENDING, "(NULL,&psc,NULL,0,0,NULL), expected E_PENDING, "
- "got %08x\n", hr);
+ ok( hr == E_PENDING, "Unexpected hr %#lx.\n", hr);
ok( psc == NULL, "Expected psc to be NULL, got %p\n", psc);
/* Set psc to NULL but add hdc, to be able to check if a pointer is returned in psc */
psc = NULL;
hr = ScriptGetCMap(hdc, &psc, TestItem1, cInChars, 0, pwOutGlyphs3);
- ok( hr == S_OK, "ScriptGetCMap(NULL,&psc,NULL,0,0,NULL), expected S_OK, "
- "got %08x\n", hr);
+ ok (hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok( psc != NULL, "ScriptGetCMap expected psc to be not NULL\n");
ScriptFreeCache( &psc);
/* Set psc to NULL, to be able to check if a pointer is returned in psc */
psc = NULL;
hr = ScriptGetCMap(NULL, &psc, TestItem1, cInChars, dwFlags, pwOutGlyphs3);
- ok( hr == E_PENDING, "(NULL,&psc,), expected E_PENDING, got %08x\n", hr);
+ ok( hr == E_PENDING, "Unexpected hr %#lx.\n", hr);
ok( psc == NULL, "Expected psc to be NULL, got %p\n", psc);
/* Check to see if the results are the same as those returned by ScriptShape */
hr = ScriptGetCMap(hdc, &psc, TestItem1, cInChars, dwFlags, pwOutGlyphs3);
- ok (hr == S_OK, "ScriptGetCMap should return S_OK not (%08x)\n", hr);
+ ok (hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok (psc != NULL, "psc should not be null and have SCRIPT_CACHE buffer address\n");
for (cnt=0; cnt < cChars && pwOutGlyphs[cnt] == pwOutGlyphs3[cnt]; cnt++) {}
ok (cnt == cInChars, "Translation not correct. WCHAR %d - %04x != %04x\n",
@@ -2430,9 +2425,9 @@ static void test_ScriptGetCMap(HDC hdc, unsigned short pwOutGlyphs[256])
hr = ScriptGetCMap(hdc, &psc, TestItem2, cInChars, dwFlags, pwOutGlyphs3);
if (pwOutGlyphs3[0] == 0 || pwOutGlyphs3[3] == 0)
- ok(hr == S_FALSE, "ScriptGetCMap should return S_FALSE not (%08x)\n", hr);
+ ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
else
- ok(hr == S_OK, "ScriptGetCMap should return S_OK not (%08x)\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(psc != NULL, "psc should not be null and have SCRIPT_CACHE buffer address\n");
ok(pwOutGlyphs3[0] == pwOutGlyphs2[0], "expected glyph %d, got %d\n", pwOutGlyphs2[0], pwOutGlyphs3[0]);
@@ -2440,14 +2435,14 @@ static void test_ScriptGetCMap(HDC hdc, unsigned short pwOutGlyphs[256])
cInChars = cChars = 9;
hr = ScriptGetCMap(hdc, &psc, TestItem3b, cInChars, dwFlags, pwOutGlyphs2);
- ok (hr == S_OK, "ScriptGetCMap should return S_OK not (%08x)\n", hr);
- ok (psc != NULL, "psc should not be null and have SCRIPT_CACHE buffer address\n");
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+ ok(psc != NULL, "psc should not be null and have SCRIPT_CACHE buffer address\n");
cInChars = cChars = 9;
dwFlags = SGCM_RTL;
hr = ScriptGetCMap(hdc, &psc, TestItem3, cInChars, dwFlags, pwOutGlyphs3);
- ok (hr == S_OK, "ScriptGetCMap should return S_OK not (%08x)\n", hr);
- ok (psc != NULL, "psc should not be null and have SCRIPT_CACHE buffer address\n");
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+ ok(psc != NULL, "psc should not be null and have SCRIPT_CACHE buffer address\n");
ok(pwOutGlyphs3[0] == pwOutGlyphs2[0], "glyph incorrectly altered\n");
ok(pwOutGlyphs3[1] == pwOutGlyphs2[1], "glyph incorrectly altered\n");
ok(pwOutGlyphs3[2] == pwOutGlyphs2[2], "glyph incorrectly altered\n");
@@ -2524,40 +2519,40 @@ static void test_ScriptGetFontProperties(HDC hdc)
/* Some sanity checks for ScriptGetFontProperties */
hr = ScriptGetFontProperties(NULL,NULL,NULL);
- ok( hr == E_INVALIDARG, "(NULL,NULL,NULL), expected E_INVALIDARG, got %08x\n", hr);
+ ok( hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
hr = ScriptGetFontProperties(NULL,NULL,&sfp);
- ok( hr == E_INVALIDARG, "(NULL,NULL,&sfp), expected E_INVALIDARG, got %08x\n", hr);
+ ok( hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
/* Set psc to NULL, to be able to check if a pointer is returned in psc */
psc = NULL;
hr = ScriptGetFontProperties(NULL,&psc,NULL);
- ok( hr == E_INVALIDARG, "(NULL,&psc,NULL), expected E_INVALIDARG, got %08x\n", hr);
+ ok( hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
ok( psc == NULL, "Expected psc to be NULL, got %p\n", psc);
/* Set psc to NULL, to be able to check if a pointer is returned in psc */
psc = NULL;
hr = ScriptGetFontProperties(NULL,&psc,&sfp);
- ok( hr == E_PENDING, "(NULL,&psc,&sfp), expected E_PENDING, got %08x\n", hr);
+ ok( hr == E_PENDING, "Unexpected hr %#lx.\n", hr);
ok( psc == NULL, "Expected psc to be NULL, got %p\n", psc);
hr = ScriptGetFontProperties(hdc,NULL,NULL);
- ok( hr == E_INVALIDARG, "(hdc,NULL,NULL), expected E_INVALIDARG, got %08x\n", hr);
+ ok( hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
hr = ScriptGetFontProperties(hdc,NULL,&sfp);
- ok( hr == E_INVALIDARG, "(hdc,NULL,&sfp), expected E_INVALIDARG, got %08x\n", hr);
+ ok( hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
/* Set psc to NULL, to be able to check if a pointer is returned in psc */
psc = NULL;
hr = ScriptGetFontProperties(hdc,&psc,NULL);
- ok( hr == E_INVALIDARG, "(hdc,&psc,NULL), expected E_INVALIDARG, got %08x\n", hr);
+ ok( hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
ok( psc == NULL, "Expected psc to be NULL, got %p\n", psc);
/* Pass an invalid sfp */
psc = NULL;
sfp.cBytes = sizeof(SCRIPT_FONTPROPERTIES) - 1;
hr = ScriptGetFontProperties(hdc,&psc,&sfp);
- ok( hr == E_INVALIDARG, "(hdc,&psc,&sfp) invalid, expected E_INVALIDARG, got %08x\n", hr);
+ ok( hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
ok( psc != NULL, "Expected a pointer in psc, got NULL\n");
ok( sfp.cBytes == sizeof(SCRIPT_FONTPROPERTIES) - 1, "Unexpected cBytes.\n");
ScriptFreeCache(&psc);
@@ -2567,14 +2562,14 @@ static void test_ScriptGetFontProperties(HDC hdc)
sfp.cBytes = sizeof(SCRIPT_FONTPROPERTIES);
psc = NULL;
hr = ScriptGetFontProperties(hdc,&psc,&sfp);
- ok( hr == S_OK, "(hdc,&psc,&sfp) partly initialized, expected S_OK, got %08x\n", hr);
+ ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok( psc != NULL, "Expected a pointer in psc, got NULL\n");
/* Save the psc pointer */
old_psc = psc;
/* Now a NULL hdc again */
hr = ScriptGetFontProperties(NULL,&psc,&sfp);
- ok( hr == S_OK, "(NULL,&psc,&sfp), expected S_OK, got %08x\n", hr);
+ ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok( psc == old_psc, "Expected psc not to be changed, was %p is now %p\n", old_psc, psc);
ScriptFreeCache(&psc);
ok( psc == NULL, "Expected psc to be NULL, got %p\n", psc);
@@ -2598,7 +2593,7 @@ static void test_ScriptGetFontProperties(HDC hdc)
sfp.cBytes = sizeof(SCRIPT_FONTPROPERTIES);
psc = NULL;
hr = ScriptGetFontProperties(hdc, &psc, &sfp);
- ok(hr == S_OK, "ScriptGetFontProperties expected S_OK, got %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
if (winetest_interactive)
{
trace("bitmap font %s\n", lf.lfFaceName);
@@ -2646,7 +2641,7 @@ static void test_ScriptGetFontProperties(HDC hdc)
sfp.cBytes = sizeof(SCRIPT_FONTPROPERTIES);
psc = NULL;
hr = ScriptGetFontProperties(hdc, &psc, &sfp);
- ok(hr == S_OK, "ScriptGetFontProperties expected S_OK, got %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
if (winetest_interactive)
{
trace("truetype font %s\n", lf.lfFaceName);
@@ -2713,7 +2708,7 @@ static void test_ScriptTextOut(HDC hdc)
/* This is a valid test that will cause parsing to take place. */
cInChars = lstrlenW(TestItem1);
hr = ScriptItemize(TestItem1, cInChars, ARRAY_SIZE(pItem), NULL, NULL, pItem, &pcItems);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
/* This test is for the interim operation of ScriptItemize() where only
* one SCRIPT_ITEM is returned. */
ok(pcItems == 1, "Got unexpected item count %d.\n", pcItems);
@@ -2725,49 +2720,49 @@ static void test_ScriptTextOut(HDC hdc)
cInChars = 5;
hr = ScriptShape(hdc, &psc, TestItem1, cInChars, ARRAY_SIZE(pwOutGlyphs1),
&pItem[0].a, pwOutGlyphs1, pwLogClust, psva, &pcGlyphs);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(!!psc, "Got unexpected psc %p.\n", psc);
ok(pcGlyphs == cInChars, "Got unexpected glyph count %d, expected %d.\n", pcGlyphs, cInChars);
/* Note hdc is needed as glyph info is not yet in psc. */
hr = ScriptPlace(hdc, &psc, pwOutGlyphs1, pcGlyphs,
psva, &pItem[0].a, piAdvance, pGoffset, pABC);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
/* Get rid of psc for next test set. */
ScriptFreeCache(&psc);
ok(!psc, "Got unexpected psc %p.\n", psc);
hr = ScriptTextOut(NULL, NULL, 0, 0, 0, NULL, NULL, NULL, 0, NULL, 0, NULL, NULL, NULL);
- ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
hr = ScriptTextOut(NULL, NULL, 0, 0, 0, NULL, &pItem[0].a, NULL, 0,
pwOutGlyphs1, pcGlyphs, piAdvance, NULL, pGoffset);
- ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
hr = ScriptTextOut(NULL, &psc, 0, 0, 0, NULL, NULL, NULL, 0, NULL, 0, NULL, NULL, NULL);
- ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
ok(!psc, "Got unexpected psc %p.\n", psc);
/* hdc is required. */
hr = ScriptTextOut(NULL, &psc, 0, 0, 0, NULL, &pItem[0].a, NULL, 0,
pwOutGlyphs1, pcGlyphs, piAdvance, NULL, pGoffset);
- ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
ok(!psc, "Got unexpected psc %p.\n", psc);
hr = ScriptTextOut(hdc, &psc, 0, 0, 0, NULL, &pItem[0].a, NULL, 0,
pwOutGlyphs1, pcGlyphs, piAdvance, NULL, pGoffset);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
/* Test Rect Rgn is acceptable. */
SetRect(&rect, 10, 10, 40, 20);
hr = ScriptTextOut(hdc, &psc, 0, 0, 0, &rect, &pItem[0].a, NULL, 0,
pwOutGlyphs1, pcGlyphs, piAdvance, NULL, pGoffset);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
hr = ScriptCPtoX(1, FALSE, cInChars, pcGlyphs, pwLogClust, psva, piAdvance, &pItem[0].a, &piX);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
hr = ScriptBreak(TestItem1, cInChars, &pItem[0].a, sla);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ScriptFreeCache(&psc);
ok(!psc, "Got unexpected psc %p.\n", psc);
@@ -2804,7 +2799,7 @@ static void test_ScriptTextOut2(HDC hdc)
/* This is a valid test that will cause parsing to take place. */
cInChars = lstrlenW(TestItem1);
hr = ScriptItemize(TestItem1, cInChars, ARRAY_SIZE(pItem), NULL, NULL, pItem, &pcItems);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
/* This test is for the interim operation of ScriptItemize() where only
* one SCRIPT_ITEM is returned. */
ok(pcItems == 1, "Got unexpected item count %d.\n", pcItems);
@@ -2815,14 +2810,14 @@ static void test_ScriptTextOut2(HDC hdc)
psc = NULL;
hr = ScriptShape(hdc2, &psc, TestItem1, cInChars, ARRAY_SIZE(pwOutGlyphs1),
&pItem[0].a, pwOutGlyphs1, pwLogClust, psva, &pcGlyphs);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(!!psc, "Got unexpected psc %p.\n", psc);
ok(pcGlyphs == cInChars, "Got unexpected glyph count %d, expected %d.\n", pcGlyphs, cInChars);
/* Note hdc is needed as glyph info is not yet in psc. */
hr = ScriptPlace(hdc2, &psc, pwOutGlyphs1, pcGlyphs,
psva, &pItem[0].a, piAdvance, pGoffset, pABC);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
/* Key part! Cached DC is being deleted. */
ret = DeleteDC(hdc2);
@@ -2833,7 +2828,7 @@ static void test_ScriptTextOut2(HDC hdc)
* that DC. */
hr = ScriptTextOut(hdc1, &psc, 0, 0, 0, NULL, &pItem[0].a, NULL, 0,
pwOutGlyphs1, pcGlyphs, piAdvance, NULL, pGoffset);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(!!psc, "Got unexpected psc %p.\n", psc);
DeleteDC(hdc1);
@@ -2865,7 +2860,7 @@ static void test_ScriptTextOut3(HDC hdc)
* glyph number. */
cInChars = lstrlenW(TestItem1);
hr = ScriptItemize(TestItem1, cInChars, ARRAY_SIZE(pItem), NULL, NULL, pItem, &pcItems);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
/* This test is for the interim operation of ScriptItemize() where only
* one SCRIPT_ITEM is returned. */
ok(pcItems == 2, "Got unexpected item count %d.\n", pcItems);
@@ -2877,20 +2872,20 @@ static void test_ScriptTextOut3(HDC hdc)
psc = NULL;
hr = ScriptShape(hdc, &psc, TestItem1, cInChars, ARRAY_SIZE(pwOutGlyphs1),
&pItem[0].a, pwOutGlyphs1, pwLogClust, psva, &pcGlyphs);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(!!psc, "Got unexpected psc %p.\n", psc);
ok(pcGlyphs == cInChars, "Got unexpected glyph count %d, expected %d.\n", pcGlyphs, cInChars);
/* Note hdc is needed as glyph info is not yet in psc. */
hr = ScriptPlace(hdc, &psc, pwOutGlyphs1, pcGlyphs,
psva, &pItem[0].a, piAdvance, pGoffset, pABC);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
/* Test Rect Rgn is acceptable. */
SetRect(&rect, 10, 10, 40, 20);
hr = ScriptTextOut(hdc, &psc, 0, 0, 0, &rect, &pItem[0].a, NULL, 0,
pwOutGlyphs1, pcGlyphs, piAdvance, NULL, pGoffset);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ScriptFreeCache(&psc);
ok(!psc, "Got unexpected psc %p.\n", psc);
@@ -2918,7 +2913,7 @@ static void _test_item_ScriptXtoX(SCRIPT_ANALYSIS *psa, int cChars, int cGlyphs,
icChars = cChars;
icGlyphs = cGlyphs;
hr = ScriptXtoCP(iX, icChars, icGlyphs, pwLogClust, psva, piAdvance, psa, &piCP, &piTrailing);
- winetest_ok(hr == S_OK, "ScriptXtoCP: should return S_OK not %08x\n", hr);
+ winetest_ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
winetest_ok(piCP == iCP, "ScriptXtoCP: iX=%d should return piCP=%d not %d\n", iX, iCP, piCP);
winetest_ok(piTrailing == 0, "ScriptXtoCP: iX=%d should return piTrailing=0 not %d\n", iX, piTrailing);
}
@@ -2929,7 +2924,7 @@ static void _test_item_ScriptXtoX(SCRIPT_ANALYSIS *psa, int cChars, int cGlyphs,
icChars = cChars;
icGlyphs = cGlyphs;
hr = ScriptXtoCP(iX, icChars, icGlyphs, pwLogClust, psva, piAdvance, psa, &piCP, &piTrailing);
- winetest_ok(hr == S_OK, "ScriptXtoCP leading: should return S_OK not %08x\n", hr);
+ winetest_ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
winetest_ok(piCP == iCP, "ScriptXtoCP leading: iX=%d should return piCP=%d not %d\n", iX, iCP, piCP);
winetest_ok(piTrailing == 0, "ScriptXtoCP leading: iX=%d should return piTrailing=0 not %d\n", iX, piTrailing);
}
@@ -2940,7 +2935,7 @@ static void _test_item_ScriptXtoX(SCRIPT_ANALYSIS *psa, int cChars, int cGlyphs,
icChars = cChars;
icGlyphs = cGlyphs;
hr = ScriptXtoCP(iX, icChars, icGlyphs, pwLogClust, psva, piAdvance, psa, &piCP, &piTrailing);
- winetest_ok(hr == S_OK, "ScriptXtoCP trailing: should return S_OK not %08x\n", hr);
+ winetest_ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
winetest_ok(piCP == iCP, "ScriptXtoCP trailing: iX=%d should return piCP=%d not %d\n", iX, iCP, piCP);
winetest_ok(piTrailing == 1, "ScriptXtoCP trailing: iX=%d should return piTrailing=1 not %d\n", iX, piTrailing);
}
@@ -2951,7 +2946,7 @@ static void _test_item_ScriptXtoX(SCRIPT_ANALYSIS *psa, int cChars, int cGlyphs,
icChars = cChars;
icGlyphs = cGlyphs;
hr = ScriptCPtoX(iCP, fTrailing, icChars, icGlyphs, pwLogClust, psva, piAdvance, psa, &piX);
- winetest_ok(hr == S_OK, "ScriptCPtoX: should return S_OK not %08x\n", hr);
+ winetest_ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
winetest_ok(piX == offsets[iCP],
"ScriptCPtoX: iCP=%d should return piX=%d not %d\n", iCP, offsets[iCP], piX);
}
@@ -2962,7 +2957,7 @@ static void _test_item_ScriptXtoX(SCRIPT_ANALYSIS *psa, int cChars, int cGlyphs,
icChars = cChars;
icGlyphs = cGlyphs;
hr = ScriptCPtoX(iCP, fTrailing, icChars, icGlyphs, pwLogClust, psva, piAdvance, psa, &piX);
- winetest_ok(hr == S_OK, "ScriptCPtoX trailing: should return S_OK not %08x\n", hr);
+ winetest_ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
winetest_ok(piX == offsets[iCP+1],
"ScriptCPtoX trailing: iCP=%d should return piX=%d not %d\n", iCP, offsets[iCP+1], piX);
}
@@ -2994,7 +2989,7 @@ static void _test_caret_item_ScriptXtoCP(int line, SCRIPT_ANALYSIS *psa, int cCh
icChars = cChars;
icGlyphs = cGlyphs;
hr = ScriptXtoCP(iX, icChars, icGlyphs, pwLogClust, psva, piAdvance, psa, &piCP, &piTrailing);
- ok_(__FILE__,line)(hr == S_OK, "ScriptXtoCP: should return S_OK not %08x\n", hr);
+ ok_(__FILE__,line)(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok_(__FILE__,line)(piCP == iCP, "ScriptXtoCP: iX=%d should return piCP=%d not %d\n", iX, iCP, piCP);
ok_(__FILE__,line)(piTrailing == 0, "ScriptXtoCP: iX=%d should return piTrailing=0 not %d\n", iX, piTrailing);
}
@@ -3009,7 +3004,7 @@ static void _test_caret_item_ScriptXtoCP(int line, SCRIPT_ANALYSIS *psa, int cCh
icChars = cChars;
icGlyphs = cGlyphs;
hr = ScriptXtoCP(iX, icChars, icGlyphs, pwLogClust, psva, piAdvance, psa, &piCP, &piTrailing);
- ok_(__FILE__,line)(hr == S_OK, "ScriptXtoCP leading: should return S_OK not %08x\n", hr);
+ ok_(__FILE__,line)(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok_(__FILE__,line)(piCP == iCP, "ScriptXtoCP leading: iX=%d should return piCP=%d not %d\n", iX, iCP, piCP);
ok_(__FILE__,line)(piTrailing == 0, "ScriptXtoCP leading: iX=%d should return piTrailing=0 not %d\n", iX, piTrailing);
}
@@ -3023,7 +3018,7 @@ static void _test_caret_item_ScriptXtoCP(int line, SCRIPT_ANALYSIS *psa, int cCh
icChars = cChars;
icGlyphs = cGlyphs;
hr = ScriptXtoCP(iX, icChars, icGlyphs, pwLogClust, psva, piAdvance, psa, &piCP, &piTrailing);
- ok_(__FILE__,line)(hr == S_OK, "ScriptXtoCP trailing: should return S_OK not %08x\n", hr);
+ ok_(__FILE__,line)(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok_(__FILE__,line)(piCP == iCP, "ScriptXtoCP trailing: iX=%d should return piCP=%d not %d\n", iX, iCP, piCP);
ok_(__FILE__,line)(piTrailing == clusterSize, "ScriptXtoCP trailing: iX=%d should return piTrailing=%d not %d\n", iX, clusterSize, piTrailing);
iCP = i+1;
@@ -3068,7 +3063,7 @@ static void test_ScriptXtoX(void)
sa.fRTL = FALSE;
hr = ScriptXtoCP(-1, 10, 10, pwLogClust, psva, piAdvance, &sa, &piCP, &piTrailing);
- ok(hr == S_OK, "ScriptXtoCP should return S_OK not %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
if (piTrailing)
ok(piCP == -1, "Negative iX should return piCP=-1 not %d\n", piCP);
else /* win2k3 */
@@ -3079,7 +3074,7 @@ static void test_ScriptXtoX(void)
WORD clust = 0;
INT advance = 16;
hr = ScriptXtoCP(iX, 1, 1, &clust, psva, &advance, &sa, &piCP, &piTrailing);
- ok(hr == S_OK, "ScriptXtoCP failed, hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(piCP==0 && piTrailing==0,"%i should return 0(%i) and 0(%i)\n",iX, piCP,piTrailing);
}
for (iX = 8; iX < 16; iX++)
@@ -3087,13 +3082,13 @@ static void test_ScriptXtoX(void)
WORD clust = 0;
INT advance = 16;
hr = ScriptXtoCP(iX, 1, 1, &clust, psva, &advance, &sa, &piCP, &piTrailing);
- ok(hr == S_OK, "ScriptXtoCP failed, hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(piCP==0 && piTrailing==1,"%i should return 0(%i) and 1(%i)\n",iX, piCP,piTrailing);
}
sa.fRTL = TRUE;
hr = ScriptXtoCP(-1, 10, 10, pwLogClust_RTL, psva, piAdvance, &sa, &piCP, &piTrailing);
- ok(hr == S_OK, "ScriptXtoCP should return S_OK not %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
if (piTrailing)
ok(piCP == -1, "Negative iX should return piCP=-1 not %d\n", piCP);
else /* win2k3 */
@@ -3101,7 +3096,7 @@ static void test_ScriptXtoX(void)
iX = 1954;
hr = ScriptXtoCP(1954, 10, 10, pwLogClust_RTL, psva, piAdvance, &sa, &piCP, &piTrailing);
- ok(hr == S_OK, "ScriptXtoCP should return S_OK not %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(piCP == -1, "iX=%d should return piCP=-1 not %d\n", iX, piCP);
ok(piTrailing == 1, "iX=%d should return piTrailing=1 not %d\n", iX, piTrailing);
@@ -3110,7 +3105,7 @@ static void test_ScriptXtoX(void)
WORD clust = 0;
INT advance = 16;
hr = ScriptXtoCP(iX, 1, 1, &clust, psva, &advance, &sa, &piCP, &piTrailing);
- ok(hr == S_OK, "ScriptXtoCP() failed, hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(piCP==0 && piTrailing==1,"%i should return 0(%i) and 1(%i)\n",iX,piCP,piTrailing);
}
for (iX = 9; iX < 16; iX++)
@@ -3118,7 +3113,7 @@ static void test_ScriptXtoX(void)
WORD clust = 0;
INT advance = 16;
hr = ScriptXtoCP(iX, 1, 1, &clust, psva, &advance, &sa, &piCP, &piTrailing);
- ok(hr == S_OK, "ScriptXtoCP() failed, hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(piCP==0 && piTrailing==0,"%i should return 0(%i) and 0(%i)\n",iX,piCP,piTrailing);
}
@@ -3130,7 +3125,7 @@ static void test_ScriptXtoX(void)
/* Get thai eScript, This will do LTR and fNeedsCaretInfo */
hr = ScriptItemize(thaiW, 1, 2, NULL, NULL, items, &i);
- ok(hr == S_OK, "got %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(i == 1, "got %d\n", i);
sa = items[0].a;
@@ -3138,7 +3133,7 @@ static void test_ScriptXtoX(void)
/* Get hebrew eScript, This will do RTL and fNeedsCaretInfo */
hr = ScriptItemize(hebrW, 1, 2, NULL, NULL, items, &i);
- ok(hr == S_OK, "got %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(i == 1, "got %d\n", i);
sa = items[0].a;
@@ -3149,7 +3144,7 @@ static void test_ScriptXtoX(void)
{
test_caret_item_ScriptXtoCP(&sa, 17, 15, offsets_3_RTL, pwLogClust_3_RTL, piAdvance_3);
hr = ScriptXtoCP(0, 17, 15, pwLogClust_3_RTL, psva, piAdvance_3, &sa, &piCP, &piTrailing);
- ok(hr == S_OK, "ScriptXtoCP: should return S_OK not %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(piCP == 16, "ScriptXtoCP: iX=0 should return piCP=16 not %d\n", piCP);
ok(piTrailing == 1, "ScriptXtoCP: iX=0 should return piTrailing=1 not %d\n", piTrailing);
}
@@ -3190,34 +3185,34 @@ static void test_ScriptString(HDC hdc)
/* Test without hdc to get E_PENDING. */
hr = ScriptStringAnalyse(NULL, teststr, len, Glyphs, -1,
Flags, ReqWidth, NULL, NULL, Dx, NULL, InClass, &ssa);
- ok(hr == E_PENDING, "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_PENDING, "Unexpected hr %#lx.\n", hr);
/* Test that 0 length string returns E_INVALIDARG. */
hr = ScriptStringAnalyse(hdc, teststr, 0, Glyphs, -1,
Flags, ReqWidth, NULL, NULL, Dx, NULL, InClass, &ssa);
- ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
/* Test with hdc, this should be a valid test. */
hr = ScriptStringAnalyse(hdc, teststr, len, Glyphs, -1,
Flags, ReqWidth, NULL, NULL, Dx, NULL, InClass, &ssa);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ScriptStringFree(&ssa);
/* Test makes sure that a call with a valid pssa still works. */
hr = ScriptStringAnalyse(hdc, teststr, len, Glyphs, -1,
Flags, ReqWidth, NULL, NULL, Dx, NULL, InClass, &ssa);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(!!ssa, "Got unexpected ssa %p.\n", ssa);
hr = ScriptStringOut(ssa, X, Y, Options, &rc, MinSel, MaxSel, Disabled);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
clip_len = ScriptString_pcOutChars(ssa);
ok(*clip_len == len, "Got unexpected *clip_len %d, expected %d.\n", *clip_len, len);
order = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, *clip_len * sizeof(*order));
hr = ScriptStringGetOrder(ssa, order);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
for (i = 0; i < *clip_len; ++i)
{
@@ -3226,7 +3221,7 @@ static void test_ScriptString(HDC hdc)
HeapFree(GetProcessHeap(), 0, order);
hr = ScriptStringFree(&ssa);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
}
/* Test ScriptStringXtoCP() and ScriptStringCPtoX(). Since fonts may differ
@@ -3254,7 +3249,7 @@ static void test_ScriptStringXtoCP_CPtoX(HDC hdc)
hr = ScriptStringAnalyse(hdc, &teststr1, String_len, Glyphs, -1,
SSA_GLYPHS, 100, NULL, NULL, NULL, NULL, InClass, &ssa);
ok(hr == S_OK || broken(hr == E_INVALIDARG) /* NT */,
- "Got unexpected hr %08x.\n", hr);
+ "Got unexpected hr %#lx.\n", hr);
if (hr != S_OK)
return;
ok(!!ssa, "Got unexpected ssa %p.\n", ssa);
@@ -3270,9 +3265,9 @@ static void test_ScriptStringXtoCP_CPtoX(HDC hdc)
* character and iTrailing is FALSE. So for this loop iTrailing will
* be FALSE in both cases. */
hr = ScriptStringCPtoX(ssa, Cp, TRUE, &trail);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
hr = ScriptStringCPtoX(ssa, Cp, FALSE, &lead);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(rtl[Cp] ? lead > trail : lead < trail,
"Got unexpected lead %d, trail %d, for rtl[%u] %u.\n",
lead, trail, Cp, rtl[Cp]);
@@ -3284,14 +3279,14 @@ static void test_ScriptStringXtoCP_CPtoX(HDC hdc)
/* Inside the leading edge. */
X = rtl[Cp] ? lead - 1 : lead + 1;
hr = ScriptStringXtoCP(ssa, X, &Ch, &iTrailing);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(Ch == Cp, "Got unexpected Ch %d for X %d, expected %d.\n", Ch, X, Cp);
ok(!iTrailing, "Got unexpected iTrailing %#x for X %d.\n", iTrailing, X);
/* Inside the trailing edge. */
X = rtl[Cp] ? trail + 1 : trail - 1;
hr = ScriptStringXtoCP(ssa, X, &Ch, &iTrailing);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(Ch == Cp, "Got unexpected Ch %d for X %d, expected %d.\n", Ch, X, Cp);
ok(iTrailing, "Got unexpected iTrailing %#x for X %d.\n", iTrailing, X);
@@ -3300,7 +3295,7 @@ static void test_ScriptStringXtoCP_CPtoX(HDC hdc)
{
X = rtl[Cp] ? lead + 1 : trail + 1;
hr = ScriptStringXtoCP(ssa, X, &Ch, &iTrailing);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(Ch == Cp + 1, "Got unexpected Ch %d for X %d, expected %d.\n", Ch, X, Cp + 1);
ok(iTrailing == !!rtl[Cp + 1], "Got unexpected iTrailing %#x for X %d, expected %#x.\n",
iTrailing, X, !!rtl[Cp + 1]);
@@ -3311,7 +3306,7 @@ static void test_ScriptStringXtoCP_CPtoX(HDC hdc)
{
X = rtl[Cp] ? trail - 1 : lead - 1;
hr = ScriptStringXtoCP(ssa, X, &Ch, &iTrailing);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(Ch == Cp - 1, "Got unexpected Ch %d for X %d, expected %d.\n", Ch, X, Cp - 1);
ok(iTrailing == !rtl[Cp - 1], "Got unexpected iTrailing %#x for X %d, expected %#x.\n",
iTrailing, X, !rtl[Cp - 1]);
@@ -3324,20 +3319,20 @@ static void test_ScriptStringXtoCP_CPtoX(HDC hdc)
/* Having a leading RTL character seems to confuse usp. This looks to
* be a Windows bug we should emulate. */
hr = ScriptStringCPtoX(ssa, 0, TRUE, &X);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
--X;
hr = ScriptStringXtoCP(ssa, X, &Ch, &iTrailing);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(Ch == 1, "Got unexpected Ch %d.\n", Ch);
ok(!iTrailing, "Got unexpected iTrailing %#x.\n", iTrailing);
}
else
{
hr = ScriptStringCPtoX(ssa, 0, FALSE, &X);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
--X;
hr = ScriptStringXtoCP(ssa, X, &Ch, &iTrailing);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(Ch == -1, "Got unexpected Ch %d.\n", Ch);
ok(iTrailing, "Got unexpected iTrailing %#x.\n", iTrailing);
}
@@ -3346,34 +3341,34 @@ static void test_ScriptStringXtoCP_CPtoX(HDC hdc)
if (rtl[String_len - 1])
{
hr = ScriptStringCPtoX(ssa, String_len - 1, FALSE, &X);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
}
else
{
hr = ScriptStringCPtoX(ssa, String_len - 1, TRUE, &X);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
}
++X;
hr = ScriptStringXtoCP(ssa, X, &Ch, &iTrailing);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(Ch == String_len, "Got unexpected Ch %d, expected %d.\n", Ch, String_len);
ok(!iTrailing, "Got unexpected iTrailing %#x.\n", iTrailing);
/* Cleanup the SSA for the next round of tests. */
hr = ScriptStringFree(&ssa);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
/* Test to see that exceeding the number of characters returns
* E_INVALIDARG. First generate an SSA for the subsequent tests. */
hr = ScriptStringAnalyse(hdc, &teststr1, String_len, Glyphs, -1,
SSA_GLYPHS, 100, NULL, NULL, NULL, NULL, InClass, &ssa);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
/* When ScriptStringCPtoX() is called with a character position that
* exceeds the string length, return E_INVALIDARG. This also invalidates
* the ssa so a ScriptStringFree() should also fail. */
hr = ScriptStringCPtoX(ssa, String_len + 1, FALSE, &X);
- ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
ScriptStringFree(&ssa);
}
@@ -3401,33 +3396,33 @@ static void test_ScriptCacheGetHeight(HDC hdc)
HDC hdc2;
hr = ScriptCacheGetHeight(NULL, NULL, NULL);
- ok(hr == E_INVALIDARG, "expected E_INVALIDARG, got 0x%08x\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
hr = ScriptCacheGetHeight(NULL, &sc, NULL);
- ok(hr == E_INVALIDARG, "expected E_INVALIDARG, got 0x%08x\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
hr = ScriptCacheGetHeight(NULL, &sc, &height);
- ok(hr == E_PENDING, "expected E_PENDING, got 0x%08x\n", hr);
+ ok(hr == E_PENDING, "Unexpected hr %#lx.\n", hr);
height = 123;
hr = ScriptCacheGetHeight(hdc, NULL, &height);
- ok(hr == E_INVALIDARG, "Unexpected hr %#x.\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
ok(height == 123, "Unexpected height.\n");
memset(&tm, 0, sizeof(tm));
GetTextMetricsW(hdc, &tm);
- ok(tm.tmHeight > 0, "Unexpected tmHeight %u.\n", tm.tmHeight);
+ ok(tm.tmHeight > 0, "Unexpected tmHeight %lu.\n", tm.tmHeight);
height = 0;
hr = ScriptCacheGetHeight(hdc, &sc, &height);
- ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(height == tm.tmHeight, "expected height > 0\n");
/* Try again with NULL dc. */
height2 = 0;
hr = ScriptCacheGetHeight(NULL, &sc, &height2);
- ok(hr == S_OK, "Failed to get cached height, hr %#x.\n", hr);
- ok(height2 == height, "Unexpected height %u.\n", height2);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+ ok(height2 == height, "Unexpected height %lu.\n", height2);
hwnd = create_test_window();
@@ -3445,11 +3440,11 @@ static void test_ScriptCacheGetHeight(HDC hdc)
memset(&tm, 0, sizeof(tm));
GetTextMetricsW(hdc2, &tm);
- ok(tm.tmHeight > height, "Unexpected tmHeight %u.\n", tm.tmHeight);
+ ok(tm.tmHeight > height, "Unexpected tmHeight %lu.\n", tm.tmHeight);
height2 = 0;
hr = ScriptCacheGetHeight(hdc2, &sc, &height2);
- ok(hr == S_OK, "Failed to get cached height, hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(height2 == height, "Unexpected height.\n");
SelectObject(hdc2, prev_hfont);
@@ -3479,23 +3474,23 @@ static void test_ScriptGetGlyphABCWidth(HDC hdc)
ok(glyph != 0, "Unexpected glyph index.\n");
hr = ScriptGetGlyphABCWidth(NULL, NULL, glyph, NULL);
- ok(hr == E_INVALIDARG, "expected E_INVALIDARG, got 0x%08x\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
hr = ScriptGetGlyphABCWidth(NULL, &sc, glyph, NULL);
ok(broken(hr == E_PENDING) ||
hr == E_INVALIDARG, /* WIN7 */
- "expected E_INVALIDARG, got 0x%08x\n", hr);
+ "Unexpected hr %#lx.\n", hr);
hr = ScriptGetGlyphABCWidth(NULL, &sc, glyph, &abc);
- ok(hr == E_PENDING, "expected E_PENDING, got 0x%08x\n", hr);
+ ok(hr == E_PENDING, "Unexpected hr %#lx.\n", hr);
if (0) { /* crashes on WinXP */
hr = ScriptGetGlyphABCWidth(hdc, &sc, glyph, NULL);
- ok(hr == E_INVALIDARG, "expected E_INVALIDARG, got 0x%08x\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
}
hr = ScriptGetGlyphABCWidth(hdc, &sc, glyph, &abc);
- ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(abc.abcB != 0, "Unexpected width.\n");
ret = GetCharABCWidthsI(hdc, glyph, 1, NULL, &abc2);
@@ -3524,7 +3519,7 @@ static void test_ScriptGetGlyphABCWidth(HDC hdc)
sc = NULL;
hr = ScriptGetGlyphABCWidth(hdc, &sc, glyph, &abc);
- ok(hr == S_OK, "Failed to get glyph width, hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(abc.abcB != 0, "Unexpected width.\n");
ret = GetCharWidthI(hdc, glyph, 1, NULL, &width);
@@ -3609,15 +3604,15 @@ static void test_ScriptLayout(void)
int i, j, vistolog[sizeof(levels[0])], logtovis[sizeof(levels[0])];
hr = ScriptLayout(sizeof(levels[0]), NULL, vistolog, logtovis);
- ok(hr == E_INVALIDARG, "expected E_INVALIDARG, got 0x%08x\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
hr = ScriptLayout(sizeof(levels[0]), levels[0], NULL, NULL);
- ok(hr == E_INVALIDARG, "expected E_INVALIDARG, got 0x%08x\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
for (i = 0; i < ARRAY_SIZE(levels); ++i)
{
hr = ScriptLayout(sizeof(levels[0]), levels[i], vistolog, logtovis);
- ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
for (j = 0; j < sizeof(levels[i]); j++)
{
@@ -3653,10 +3648,10 @@ static BOOL CALLBACK enum_proc(LGRPID group, LCID lcid, LPSTR locale, LONG_PTR l
if (!SetThreadLocale(lcid)) return TRUE;
hr = ScriptRecordDigitSubstitution(lcid, &sds);
- ok(hr == S_OK, "ScriptRecordDigitSubstitution failed: 0x%08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
hr = ScriptApplyDigitSubstitution(&sds, &sc, &ss);
- ok(hr == S_OK, "ScriptApplyDigitSubstitution failed: 0x%08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
SetThreadLocale(lcid_old);
return TRUE;
@@ -3690,7 +3685,7 @@ static void test_digit_substitution(void)
for (i = 0; i < ARRAY_SIZE(groups); ++i)
{
ret = EnumLanguageGroupLocalesA(enum_proc, groups[i], 0, 0);
- ok(ret, "EnumLanguageGroupLocalesA failed unexpectedly: %u\n", GetLastError());
+ ok(ret, "EnumLanguageGroupLocalesA failed unexpectedly: %lu\n", GetLastError());
}
}
@@ -3701,16 +3696,16 @@ static void test_ScriptGetProperties(void)
int num;
hr = ScriptGetProperties(NULL, NULL);
- ok(hr == E_INVALIDARG, "ScriptGetProperties succeeded\n");
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
hr = ScriptGetProperties(NULL, &num);
- ok(hr == S_OK, "ScriptGetProperties failed: 0x%08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
hr = ScriptGetProperties(&props, NULL);
- ok(hr == S_OK, "ScriptGetProperties failed: 0x%08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
hr = ScriptGetProperties(&props, &num);
- ok(hr == S_OK, "ScriptGetProperties failed: 0x%08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
}
static void test_ScriptBreak(void)
@@ -3721,7 +3716,7 @@ static void test_ScriptBreak(void)
HRESULT hr;
hr = ScriptItemize(test, 3, 4, NULL, NULL, items, NULL);
- ok(hr == S_OK, "ScriptItemize should return S_OK not %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
/*
* This Test crashes pre Vista.
@@ -3731,14 +3726,14 @@ static void test_ScriptBreak(void)
*/
hr = ScriptBreak(test, 0, &items[0].a, &la);
- ok(hr == E_FAIL || broken(hr == S_OK), "ScriptBreak should return E_FAIL not %08x\n", hr);
+ ok(hr == E_FAIL || broken(hr == S_OK), "Unexpected hr %#lx.\n", hr);
hr = ScriptBreak(test, -1, &items[0].a, &la);
- ok(hr == E_INVALIDARG || broken(hr == S_OK), "ScriptBreak should return E_INVALIDARG not %08x\n", hr);
+ ok(hr == E_INVALIDARG || broken(hr == S_OK), "Unexpected hr %#lx.\n", hr);
memset(&la, 0, sizeof(la));
hr = ScriptBreak(test, 1, &items[0].a, &la);
- ok(hr == S_OK, "ScriptBreak should return S_OK not %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(!la.fSoftBreak, "fSoftBreak set\n");
ok(la.fWhiteSpace, "fWhiteSpace not set\n");
@@ -3749,7 +3744,7 @@ static void test_ScriptBreak(void)
memset(&la, 0, sizeof(la));
hr = ScriptBreak(test + 1, 1, &items[1].a, &la);
- ok(hr == S_OK, "ScriptBreak should return S_OK not %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(!la.fSoftBreak, "fSoftBreak set\n");
ok(!la.fWhiteSpace, "fWhiteSpace set\n");
@@ -3760,7 +3755,7 @@ static void test_ScriptBreak(void)
memset(&la, 0, sizeof(la));
hr = ScriptBreak(test + 2, 1, &items[2].a, &la);
- ok(hr == S_OK, "ScriptBreak should return S_OK not %08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(!la.fSoftBreak, "fSoftBreak set\n");
ok(!la.fWhiteSpace, "fWhiteSpace set\n");
@@ -3783,27 +3778,27 @@ static void test_newlines(void)
count = 0;
hr = ScriptItemize(test1, lstrlenW(test1), 5, NULL, NULL, items, &count);
- ok(hr == S_OK, "ScriptItemize failed: 0x%08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(count == 3, "got %d expected 3\n", count);
count = 0;
hr = ScriptItemize(test2, lstrlenW(test2), 5, NULL, NULL, items, &count);
- ok(hr == S_OK, "ScriptItemize failed: 0x%08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(count == 3, "got %d expected 3\n", count);
count = 0;
hr = ScriptItemize(test3, lstrlenW(test3), 5, NULL, NULL, items, &count);
- ok(hr == S_OK, "ScriptItemize failed: 0x%08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(count == 4, "got %d expected 4\n", count);
count = 0;
hr = ScriptItemize(test4, lstrlenW(test4), 5, NULL, NULL, items, &count);
- ok(hr == S_OK, "ScriptItemize failed: 0x%08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(count == 4, "got %d expected 4\n", count);
count = 0;
hr = ScriptItemize(test5, lstrlenW(test5), 5, NULL, NULL, items, &count);
- ok(hr == S_OK, "ScriptItemize failed: 0x%08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(count == 4, "got %d expected 4\n", count);
}
@@ -3827,22 +3822,22 @@ static void test_ScriptGetFontFunctions(HDC hdc)
}
hr = pScriptGetFontScriptTags(hdc, &sc, NULL, 0, NULL, NULL);
- ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
ok(!sc, "Got unexpected script cache %p.\n", sc);
hr = pScriptGetFontScriptTags(hdc, &sc, NULL, 0, NULL, &count);
- ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
ok(!sc, "Got unexpected script cache %p.\n", sc);
hr = pScriptGetFontScriptTags(hdc, &sc, NULL, ARRAY_SIZE(tags), tags, NULL);
- ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
ok(!sc, "Got unexpected script cache %p.\n", sc);
hr = pScriptGetFontScriptTags(hdc, &sc, NULL, 0, tags, &count);
- ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
ok(!sc, "Got unexpected script cache %p.\n", sc);
hr = pScriptGetFontScriptTags(NULL, &sc, NULL, ARRAY_SIZE(tags), tags, &count);
- ok(hr == E_PENDING, "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_PENDING, "Unexpected hr %#lx.\n", hr);
ok(!sc, "Got unexpected script cache %p.\n", sc);
hr = pScriptGetFontScriptTags(hdc, &sc, NULL, ARRAY_SIZE(tags), tags, &count);
- ok(hr == S_OK || hr == E_OUTOFMEMORY, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK || hr == E_OUTOFMEMORY, "Unexpected hr %#lx.\n", hr);
if (hr == S_OK)
ok(count <= 5, "Got unexpected count %d.\n", count);
else
@@ -3853,22 +3848,22 @@ static void test_ScriptGetFontFunctions(HDC hdc)
sc = NULL;
hr = pScriptGetFontLanguageTags(hdc, &sc, NULL, latn_tag, 0, NULL, NULL);
- ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
ok(!sc, "Got unexpected script cache %p.\n", sc);
hr = pScriptGetFontLanguageTags(hdc, &sc, NULL, latn_tag, 0, NULL, &count);
- ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
ok(!sc, "Got unexpected script cache %p.\n", sc);
hr = pScriptGetFontLanguageTags(hdc, &sc, NULL, latn_tag, ARRAY_SIZE(tags), tags, NULL);
- ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
ok(!sc, "Got unexpected script cache %p.\n", sc);
hr = pScriptGetFontLanguageTags(hdc, &sc, NULL, latn_tag, 0, tags, &count);
- ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
ok(!sc, "Got unexpected script cache %p.\n", sc);
hr = pScriptGetFontLanguageTags(NULL, &sc, NULL, latn_tag, ARRAY_SIZE(tags), tags, &count);
- ok(hr == E_PENDING, "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_PENDING, "Unexpected hr %#lx.\n", hr);
ok(!sc, "Got unexpected script cache %p.\n", sc);
hr = pScriptGetFontLanguageTags(hdc, &sc, NULL, latn_tag, ARRAY_SIZE(tags), tags, &count);
- ok(hr == S_OK || hr == E_OUTOFMEMORY, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK || hr == E_OUTOFMEMORY, "Unexpected hr %#lx.\n", hr);
if (hr == S_OK)
ok(count <= 5, "Got unexpected count %d.\n", count);
else
@@ -3878,22 +3873,22 @@ static void test_ScriptGetFontFunctions(HDC hdc)
sc = NULL;
hr = pScriptGetFontFeatureTags(hdc, &sc, NULL, latn_tag, 0x0, 0, NULL, NULL);
- ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
ok(!sc, "Got unexpected script cache %p.\n", sc);
hr = pScriptGetFontFeatureTags(hdc, &sc, NULL, latn_tag, 0x0, 0, NULL, &count);
- ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
ok(!sc, "Got unexpected script cache %p.\n", sc);
hr = pScriptGetFontFeatureTags(hdc, &sc, NULL, latn_tag, 0x0, ARRAY_SIZE(tags), tags, NULL);
- ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
ok(!sc, "Got unexpected script cache %p.\n", sc);
hr = pScriptGetFontFeatureTags(hdc, &sc, NULL, latn_tag, 0x0, 0, tags, &count);
- ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
ok(!sc, "Got unexpected script cache %p.\n", sc);
hr = pScriptGetFontFeatureTags(NULL, &sc, NULL, latn_tag, 0x0, ARRAY_SIZE(tags), tags, &count);
- ok(hr == E_PENDING, "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_PENDING, "Unexpected hr %#lx.\n", hr);
ok(!sc, "Got unexpected script cache %p.\n", sc);
hr = pScriptGetFontFeatureTags(hdc, &sc, NULL, latn_tag, 0x0, ARRAY_SIZE(tags), tags, &count);
- ok(hr == S_OK || hr == E_OUTOFMEMORY, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK || hr == E_OUTOFMEMORY, "Unexpected hr %#lx.\n", hr);
if (hr == S_OK)
ok(count <= 5, "Got unexpected count %d.\n", count);
else
@@ -3904,20 +3899,20 @@ static void test_ScriptGetFontFunctions(HDC hdc)
hr = ScriptItemize(test_phagspa, ARRAY_SIZE(test_phagspa), ARRAY_SIZE(items),
&control, &state, items, &count);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
memset(tags, 0, sizeof(tags));
hr = pScriptGetFontScriptTags(hdc, &sc, &items[0].a, ARRAY_SIZE(tags), tags, &count);
- ok(hr == USP_E_SCRIPT_NOT_IN_FONT || broken(hr == S_OK), "Got unexpected hr %#x.\n", hr);
+ ok(hr == USP_E_SCRIPT_NOT_IN_FONT || broken(hr == S_OK), "Unexpected hr %#lx.\n", hr);
hr = pScriptGetFontLanguageTags(hdc, &sc, NULL, dsrt_tag, ARRAY_SIZE(tags), tags, &count);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
hr = pScriptGetFontLanguageTags(hdc, &sc, &items[0].a, dsrt_tag, ARRAY_SIZE(tags), tags, &count);
- ok(hr == E_INVALIDARG || broken(hr == S_OK), "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_INVALIDARG || broken(hr == S_OK), "Unexpected hr %#lx.\n", hr);
hr = pScriptGetFontFeatureTags(hdc, &sc, NULL, dsrt_tag, 0x0, ARRAY_SIZE(tags), tags, &count);
- ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
hr = pScriptGetFontFeatureTags(hdc, &sc, &items[0].a, dsrt_tag, 0x0, ARRAY_SIZE(tags), tags, &count);
- ok(hr == E_INVALIDARG || broken(hr == S_OK), "Got unexpected hr %#x.\n", hr);
+ ok(hr == E_INVALIDARG || broken(hr == S_OK), "Unexpected hr %#lx.\n", hr);
ScriptFreeCache(&sc);
}
@@ -3967,7 +3962,7 @@ static void test_ScriptGetLogicalWidths(void)
}
hr = ScriptGetLogicalWidths(&sa, ptr->char_count, ptr->glyph_count, ptr->advances, ptr->map, attrs, widths);
- ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
todo_wine_if(ptr->todo)
ok(!memcmp(ptr->widths, widths, sizeof(widths)), "test %u: got wrong widths\n", i);
@@ -3998,42 +3993,42 @@ static void test_ScriptIsComplex(void)
HRESULT hr;
hr = ScriptIsComplex(NULL, 0, 0);
- ok(hr == E_INVALIDARG || broken(hr == S_FALSE) /* winxp/vista */, "got 0x%08x\n", hr);
+ ok(hr == E_INVALIDARG || broken(hr == S_FALSE) /* winxp/vista */, "Unexpected hr %#lx.\n", hr);
if (hr == E_INVALIDARG)
{
hr = ScriptIsComplex(NULL, 1, 0);
- ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+ ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
}
hr = ScriptIsComplex(test2W, -1, SIC_ASCIIDIGIT);
- ok(hr == E_INVALIDARG || broken(hr == S_FALSE) /* winxp/vista */, "got 0x%08x\n", hr);
+ ok(hr == E_INVALIDARG || broken(hr == S_FALSE) /* winxp/vista */, "Unexpected hr %#lx.\n", hr);
hr = ScriptIsComplex(test2W, 0, SIC_ASCIIDIGIT);
- ok(hr == S_FALSE, "got 0x%08x\n", hr);
+ ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
for (i = 0; i < ARRAY_SIZE(complex_tests); ++i)
{
hr = ScriptIsComplex(complex_tests[i].text, lstrlenW(complex_tests[i].text), complex_tests[i].flags);
todo_wine_if(complex_tests[i].todo)
- ok(hr == complex_tests[i].hr, "%u: got %#x, expected %#x, flags %#x\n", i, hr, complex_tests[i].hr,
+ ok(hr == complex_tests[i].hr, "%u: got %#lx, expected %#lx, flags %#lx.\n", i, hr, complex_tests[i].hr,
complex_tests[i].flags);
}
hr = ScriptIsComplex(test2W, 1, ~0u);
- ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
hr = ScriptIsComplex(testW, 3, 0);
- ok(hr == S_FALSE, "got 0x%08x\n", hr);
+ ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
hr = ScriptIsComplex(testW, 3, SIC_NEUTRAL | SIC_COMPLEX);
- ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
hr = ScriptIsComplex(testW, 3, SIC_COMPLEX);
- ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
hr = ScriptIsComplex(test2W, 1, SIC_COMPLEX);
- ok(hr == S_FALSE, "got 0x%08x\n", hr);
+ ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
}
static void test_ScriptString_pSize(HDC hdc)
@@ -4046,7 +4041,7 @@ static void test_ScriptString_pSize(HDC hdc)
ABC abc;
hr = ScriptStringAnalyse(hdc, textW, 1, 16, -1, SSA_GLYPHS, 0, NULL, NULL, NULL, NULL, NULL, &ssa);
- ok(hr == S_OK, "ScriptStringAnalyse failed, hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
size = ScriptString_pSize(NULL);
ok(size == NULL || broken(size != NULL) /* <win7 */, "Unexpected size pointer.\n");
@@ -4059,11 +4054,11 @@ static void test_ScriptString_pSize(HDC hdc)
size = ScriptString_pSize(ssa);
ok(size != NULL, "Unexpected size pointer.\n");
- ok(size->cx == abc.abcA + abc.abcB + abc.abcC, "Unexpected cx size %d.\n", size->cx);
- ok(size->cy == tm.tmHeight, "Unexpected cy size %d.\n", size->cy);
+ ok(size->cx == abc.abcA + abc.abcB + abc.abcC, "Unexpected cx size %ld.\n", size->cx);
+ ok(size->cy == tm.tmHeight, "Unexpected cy size %ld.\n", size->cy);
hr = ScriptStringFree(&ssa);
- ok(hr == S_OK, "Failed to free ssa, hr %#x.\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
}
static void test_script_cache_reuse(void)
@@ -4102,13 +4097,13 @@ static void test_script_cache_reuse(void)
/* Get a script cache */
hr = ScriptCacheGetHeight(hdc1, &sc, &height);
- ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(sc != NULL, "Script cache is NULL\n");
/* Same font, same DC -> same SCRIPT_CACHE */
sc2 = NULL;
hr = ScriptCacheGetHeight(hdc1, &sc2, &height);
- ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(sc2 != NULL, "Script cache is NULL\n");
ok(sc == sc2, "Expected caches %p, %p to be identical\n", sc, sc2);
ScriptFreeCache(&sc2);
@@ -4116,7 +4111,7 @@ static void test_script_cache_reuse(void)
/* Same font in different DC -> same SCRIPT_CACHE */
sc2 = NULL;
hr = ScriptCacheGetHeight(hdc2, &sc2, &height);
- ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(sc2 != NULL, "Script cache is NULL\n");
ok(sc == sc2, "Expected caches %p, %p to be identical\n", sc, sc2);
ScriptFreeCache(&sc2);
@@ -4127,14 +4122,14 @@ static void test_script_cache_reuse(void)
sc2 = NULL;
hr = ScriptCacheGetHeight(hdc1, &sc2, &height);
- ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(sc2 != NULL, "Script cache is NULL\n");
ok(sc == sc2, "Expected caches %p, %p to be identical\n", sc, sc2);
ScriptFreeCache(&sc2);
sc2 = NULL;
hr = ScriptCacheGetHeight(hdc2, &sc2, &height);
- ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(sc2 != NULL, "Script cache is NULL\n");
ok(sc == sc2, "Expected caches %p, %p to be identical\n", sc, sc2);
ScriptFreeCache(&sc2);
@@ -4151,14 +4146,14 @@ static void test_script_cache_reuse(void)
sc2 = NULL;
hr = ScriptCacheGetHeight(hdc1, &sc2, &height);
- ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(sc2 != NULL, "Script cache is NULL\n");
ok(sc != sc2, "Expected caches %p, %p to be different\n", sc, sc2);
ScriptFreeCache(&sc2);
sc2 = NULL;
hr = ScriptCacheGetHeight(hdc2, &sc2, &height);
- ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(sc2 != NULL, "Script cache is NULL\n");
ok(sc != sc2, "Expected caches %p, %p to be different\n", sc, sc2);
ScriptFreeCache(&sc2);
--
2.34.1
1
1
Feb. 19, 2022
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45988
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47084
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49715
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52183
Signed-off-by: Rémi Bernon <rbernon(a)codeweavers.com>
---
v2: Fix bug URLs, support Win7 results.
dlls/mf/tests/mf.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 60 insertions(+)
diff --git a/dlls/mf/tests/mf.c b/dlls/mf/tests/mf.c
index c4d318a9e43..add48be964a 100644
--- a/dlls/mf/tests/mf.c
+++ b/dlls/mf/tests/mf.c
@@ -6135,6 +6135,65 @@ failed:
CoUninitialize();
}
+static void test_h264_decoder(void)
+{
+ static const media_type_desc transform_inputs[] =
+ {
+ {
+ ATTR_GUID(MF_MT_MAJOR_TYPE, MFMediaType_Video),
+ ATTR_GUID(MF_MT_SUBTYPE, MFVideoFormat_H264),
+ },
+ {
+ ATTR_GUID(MF_MT_MAJOR_TYPE, MFMediaType_Video),
+ ATTR_GUID(MF_MT_SUBTYPE, MFVideoFormat_H264_ES),
+ },
+ };
+ static const media_type_desc transform_outputs[] =
+ {
+ {
+ ATTR_GUID(MF_MT_MAJOR_TYPE, MFMediaType_Video),
+ ATTR_GUID(MF_MT_SUBTYPE, MFVideoFormat_NV12),
+ },
+ {
+ ATTR_GUID(MF_MT_MAJOR_TYPE, MFMediaType_Video),
+ ATTR_GUID(MF_MT_SUBTYPE, MFVideoFormat_YV12),
+ },
+ {
+ ATTR_GUID(MF_MT_MAJOR_TYPE, MFMediaType_Video),
+ ATTR_GUID(MF_MT_SUBTYPE, MFVideoFormat_IYUV),
+ },
+ {
+ ATTR_GUID(MF_MT_MAJOR_TYPE, MFMediaType_Video),
+ ATTR_GUID(MF_MT_SUBTYPE, MFVideoFormat_I420),
+ },
+ {
+ ATTR_GUID(MF_MT_MAJOR_TYPE, MFMediaType_Video),
+ ATTR_GUID(MF_MT_SUBTYPE, MFVideoFormat_YUY2),
+ },
+ };
+
+ MFT_REGISTER_TYPE_INFO input_type = {MFMediaType_Video, MFVideoFormat_H264};
+ MFT_REGISTER_TYPE_INFO output_type = {MFMediaType_Video, MFVideoFormat_NV12};
+ IMFTransform *transform;
+ GUID class_id;
+ HRESULT hr;
+ ULONG ret;
+
+ hr = CoInitialize(NULL);
+ ok(hr == S_OK, "Failed to initialize, hr %#x.\n", hr);
+
+ if (!create_transform(MFT_CATEGORY_VIDEO_DECODER, &input_type, &output_type, L"Microsoft H264 Video Decoder MFT",
+ transform_inputs, ARRAY_SIZE(transform_inputs), transform_outputs, ARRAY_SIZE(transform_outputs),
+ &transform, &class_id))
+ goto failed;
+
+ ret = IMFTransform_Release(transform);
+ ok(ret == 0, "Release returned %u\n", ret);
+
+failed:
+ CoUninitialize();
+}
+
START_TEST(mf)
{
init_functions();
@@ -6170,4 +6229,5 @@ START_TEST(mf)
test_MFRequireProtectedEnvironment();
test_wma_encoder();
test_wma_decoder();
+ test_h264_decoder();
}
--
2.34.1
2
9
Feb. 18, 2022
Signed-off-by: Sven Baars <sbaars(a)codeweavers.com>
---
v2: Remove changes that crashed the tests.
dlls/crypt32/tests/cert.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/dlls/crypt32/tests/cert.c b/dlls/crypt32/tests/cert.c
index b96f94cc662..27685da1512 100644
--- a/dlls/crypt32/tests/cert.c
+++ b/dlls/crypt32/tests/cert.c
@@ -4318,6 +4318,7 @@ static void test_VerifySignature(void)
BCryptDestroyHash(bhash);
done:
BCryptCloseAlgorithmProvider(alg, 0);
+ BCryptDestroyKey(bkey);
LocalFree(info);
CertFreeCertificateContext(cert);
--
2.30.0.335.ge6362826a0
1
4
[PATCH] ntoskrnl.exe/tests: Let CertCloseStore() delete the certificate context.
by Sven Baars Feb. 18, 2022
by Sven Baars Feb. 18, 2022
Feb. 18, 2022
This should fix test failures caused by ef437b41eebcb54a3576741fc52dbc29caa1590f.
Signed-off-by: Sven Baars <sbaars(a)codeweavers.com>
---
Apparently our implementation of CertDeleteCertificateFromStore() is wrong instead.
It seems like it should always call CertFreeCertificateContext() internally.
I'm not sure yet of the best way to do this.
dlls/ntoskrnl.exe/tests/ntoskrnl.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/dlls/ntoskrnl.exe/tests/ntoskrnl.c b/dlls/ntoskrnl.exe/tests/ntoskrnl.c
index 6207ce00ccb..13d1af4e7cd 100644
--- a/dlls/ntoskrnl.exe/tests/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/tests/ntoskrnl.c
@@ -233,15 +233,11 @@ static void testsign_cleanup(struct testsign_context *ctx)
ret = CertFreeCertificateContext(ctx->cert);
ok(ret, "Failed to free certificate, error %u\n", GetLastError());
- ret = CertDeleteCertificateFromStore(ctx->root_cert);
- ok(ret, "Failed to remove certificate, error %u\n", GetLastError());
ret = CertFreeCertificateContext(ctx->root_cert);
ok(ret, "Failed to free certificate context, error %u\n", GetLastError());
ret = CertCloseStore(ctx->root_store, CERT_CLOSE_STORE_CHECK_FLAG);
ok(ret, "Failed to close store, error %u\n", GetLastError());
- ret = CertDeleteCertificateFromStore(ctx->publisher_cert);
- ok(ret, "Failed to remove certificate, error %u\n", GetLastError());
ret = CertFreeCertificateContext(ctx->publisher_cert);
ok(ret, "Failed to free certificate context, error %u\n", GetLastError());
ret = CertCloseStore(ctx->publisher_store, CERT_CLOSE_STORE_CHECK_FLAG);
--
2.30.0.335.ge6362826a0
1
0
Feb. 18, 2022
Signed-off-by: Sven Baars <sbaars(a)codeweavers.com>
---
dlls/crypt32/tests/cert.c | 29 +++++++++++++----------------
1 file changed, 13 insertions(+), 16 deletions(-)
diff --git a/dlls/crypt32/tests/cert.c b/dlls/crypt32/tests/cert.c
index b96f94cc662..f0750cfc826 100644
--- a/dlls/crypt32/tests/cert.c
+++ b/dlls/crypt32/tests/cert.c
@@ -205,10 +205,9 @@ static void testAddCert(void)
{
CRYPT_DATA_BLOB hash = { sizeof(bigCert2Hash), bigCert2Hash };
- /* Duplicate (AddRef) the context so we can still use it after
- * deleting it from the store.
- */
- CertDuplicateCertificateContext(context);
+ /* We always need to call CertFreeCertificateContext after calling
+ CertAddEncodedCertificateToStore, which means that we can use
+ the context after deleting it from the store */
CertDeleteCertificateFromStore(context);
/* Set the same hash as bigCert2, and try to readd it */
ret = CertSetCertificateContextProperty(context, CERT_HASH_PROP_ID,
@@ -243,10 +242,9 @@ static void testAddCert(void)
ret = CertAddEncodedCertificateToStore(store, X509_ASN_ENCODING,
bigCert2WithDifferentSerial, sizeof(bigCert2WithDifferentSerial),
CERT_STORE_ADD_NEW, &context);
- ok(ret, "CertAddEncodedCertificateToStore failed: %08x\n",
- GetLastError());
- if (context)
- CertDeleteCertificateFromStore(context);
+ ok(ret, "CertAddEncodedCertificateToStore failed: %08x\n", GetLastError());
+ CertDeleteCertificateFromStore(context);
+ CertFreeCertificateContext(context);
/* Adding a cert with the same subject name and serial number (but
* different issuer) as an existing cert succeeds.
@@ -255,10 +253,9 @@ static void testAddCert(void)
ret = CertAddEncodedCertificateToStore(store, X509_ASN_ENCODING,
bigCertWithDifferentSubject, sizeof(bigCertWithDifferentSubject),
CERT_STORE_ADD_NEW, &context);
- ok(ret, "CertAddEncodedCertificateToStore failed: %08x\n",
- GetLastError());
- if (context)
- CertDeleteCertificateFromStore(context);
+ ok(ret, "CertAddEncodedCertificateToStore failed: %08x\n", GetLastError());
+ CertDeleteCertificateFromStore(context);
+ CertFreeCertificateContext(context);
/* Adding a cert with the same issuer name and serial number (but
* different otherwise) as an existing cert succeeds.
@@ -267,10 +264,9 @@ static void testAddCert(void)
ret = CertAddEncodedCertificateToStore(store, X509_ASN_ENCODING,
bigCertWithDifferentIssuer, sizeof(bigCertWithDifferentIssuer),
CERT_STORE_ADD_NEW, &context);
- ok(ret, "CertAddEncodedCertificateToStore failed: %08x\n",
- GetLastError());
- if (context)
- CertDeleteCertificateFromStore(context);
+ ok(ret, "CertAddEncodedCertificateToStore failed: %08x\n", GetLastError());
+ CertDeleteCertificateFromStore(context);
+ CertFreeCertificateContext(context);
collection = CertOpenStore(CERT_STORE_PROV_COLLECTION, 0, 0,
CERT_STORE_CREATE_NEW_FLAG, NULL);
@@ -4318,6 +4314,7 @@ static void test_VerifySignature(void)
BCryptDestroyHash(bhash);
done:
BCryptCloseAlgorithmProvider(alg, 0);
+ BCryptDestroyKey(bkey);
LocalFree(info);
CertFreeCertificateContext(cert);
--
2.30.0.335.ge6362826a0
2
5
[PATCH v2 1/4] ncrypt: Validate existence of property before creating one.
by Santino Mazza Feb. 18, 2022
by Santino Mazza Feb. 18, 2022
Feb. 18, 2022
Signed-off-by: Santino Mazza <mazzasantino1206(a)gmail.com>
---
dlls/ncrypt/main.c | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/dlls/ncrypt/main.c b/dlls/ncrypt/main.c
index 8e789573924..dbcb0087445 100644
--- a/dlls/ncrypt/main.c
+++ b/dlls/ncrypt/main.c
@@ -181,11 +181,10 @@ static struct object *allocate_object(enum object_type type)
return ret;
}
-static SECURITY_STATUS set_object_property(struct object *object, const WCHAR *name, BYTE *value, DWORD value_size)
+struct object_property *create_object_property(struct object *object, const WCHAR *name)
{
struct object_property *property;
- FIXME("check duplicates\n");
if (!object->num_properties)
{
if (!(object->properties = malloc(sizeof(*property))))
@@ -215,8 +214,18 @@ static SECURITY_STATUS set_object_property(struct object *object, const WCHAR *n
}
lstrcpyW(property->key, name);
+
+ return property;
+}
+
+static SECURITY_STATUS set_object_property(struct object *object, const WCHAR *name, BYTE *value, DWORD value_size)
+{
+ struct object_property *property = get_object_property(object, name);
+
+ if(!property) property = create_object_property(object, name);
+
property->value_size = value_size;
- if (!(property->value = malloc(value_size)))
+ if (!(property->value = realloc(property->value, value_size)))
{
ERR("Error allocating memory.");
free(property->key);
--
2.32.0
1
3
[tools 1/2] testbot/reporttest: Fix inconsistencies with the 'dll versions' block.
by Francois Gouget Feb. 18, 2022
by Francois Gouget Feb. 18, 2022
Feb. 18, 2022
The dlls which are declared as missing or which have other 'load errors'
should not have stub/test results (add placeholders to avoid future errors).
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
---
testbot/src/reporttest/report.template | 57 +++++++++++++++++++++++---
1 file changed, 51 insertions(+), 6 deletions(-)
diff --git a/testbot/src/reporttest/report.template b/testbot/src/reporttest/report.template
index 6af2ff5066..debd3cec12 100644
--- a/testbot/src/reporttest/report.template
+++ b/testbot/src/reporttest/report.template
@@ -16,6 +16,8 @@ Operating system version:
PlatformId=2
wProductType=1
Dll info:
+ activeds=dll is missing
+ adsldp=dll is missing
advapi32=5.1.2600.5755
advpack=8.0.6001.18702
amstream=6.5.2600.5512
@@ -209,6 +211,9 @@ Dll info:
xinput1_3=version error 5
xmllite=version not present 2
Test output:
+----- activeds=dll is missing
+----- adsldp=dll is missing
+
stub advapi32:cred
----- WTBS Simple test patch
----- Stubs automatically generate a successful dlls or programs test.
@@ -342,6 +347,9 @@ apphelp.c:44: 2 failures in child process
0c9c:apphelp: 116 tests executed (0 marked as todo, 3 failures), 0 skipped.
apphelp:apphelp:0c9c done (3) in 0s
+----- atl100=dll is missing
+----- atl80=dll is missing
+
atl:atl_ax start dlls/atl/tests/atl_ax.c
----- WTBS Timeout after a test failure
----- Expected assessement: Timeout
@@ -366,6 +374,8 @@ atl:registrar:0922 done (0) in 0s
avifil32 is missing and thus no test will be run for it and no entry will be
found in the test report.
+----- bcrypt=dll is missing
+
browseui:autocomplete start dlls/browseui/tests/autocomplete.c
----- A test unit with a skipped test
----- Expected assessement: Success, 1 skipped
@@ -406,6 +416,8 @@ batch.c:42: Test marked todo: Hello Wine!
0ddc:batch: 1701 tests executed (0 marked as todo, 0 failures), 0 skipped.
cmd.exe:batch:0ddc done (0) in 3s
+----- combase=dll is missing
+
comcat:comcat start dlls/comcat/tests/comcat.c
----- A test unit with a missing todo test line
----- Expected assessement: "Missing todo line" error
@@ -679,6 +691,11 @@ stub crypt32:store
stub crypt32:str
stub cryptnet:cryptnet
stub cryptui:cryptui
+----- d2d1=dll is missing
+----- d3d10core=dll is missing
+----- d3d10_1=dll is missing
+----- d3d10=dll is missing
+----- d3d11=dll is missing
stub d3d8:device
stub d3d8:stateblock
stub d3d8:visual
@@ -686,8 +703,12 @@ stub d3d9:d3d9ex
stub d3d9:device
stub d3d9:stateblock
stub d3d9:visual
+----- d3dcompiler_43=dll is missing
stub d3drm:d3drm
stub d3drm:vector
+----- d3dx10_43=dll is missing
+----- d3dx11_43=dll is missing
+----- d3dx9_36=dll is missing
stub d3dxof:d3dxof
stub ddrawex:ddrawex
stub ddrawex:surface
@@ -734,13 +755,17 @@ stub dsound:duplex
stub dsound:propset
stub dssenh:dssenh
stub dswave:dswave
+----- dwrite=dll is missing
stub dxdiagn:container
stub dxdiagn:provider
+----- dxgi=dll is missing
+----- explorerframe=dll is missing
stub faultrep:faultrep
stub fusion:asmcache
stub fusion:asmenum
stub fusion:asmname
stub fusion:fusion
+----- gameux=dll is missing
stub gdi32:bitmap
stub gdi32:brush
stub gdi32:clipping
@@ -828,6 +853,7 @@ stub mapi32:prop
stub mapi32:util
stub mlang:mlang
stub mmcndmgr:mmcndmgr
+----- mmdevapi=dll is missing
stub mpr:mpr
stub msacm32:msacm
stub mscms:profile
@@ -863,12 +889,19 @@ stub mstask:task
stub mstask:task_scheduler
stub mstask:task_trigger
stub msvcirt:msvcirt
+----- msvcp100=dll is missing
+----- msvcp110=dll is missing
+----- msvcp120=dll is missing
+----- msvcp140=dll is missing
stub msvcp60:ios
stub msvcp60:string
stub msvcp90:ios
stub msvcp90:misc
stub msvcp90:string
+----- msvcr100=dll is missing
+----- msvcr120=dll is missing
stub msvcr90:msvcr90
+----- msvcrtd=dll is missing
stub msvcrt:cpp
stub msvcrt:data
stub msvcrt:dir
@@ -896,6 +929,7 @@ stub netapi32:apibuf
stub netapi32:ds
stub netapi32:wksta
stub netcfgx:netcfgx
+----- netprofm=dll is missing
stub ntdll:atom
stub ntdll:change
stub ntdll:directory
@@ -950,7 +984,9 @@ stub oledb32:database
stub oledb32:marshal
stub oledlg:main
stub opengl32:opengl
+----- packager=dll is missing
stub pdh:pdh
+----- propsys=dll is missing
stub psapi:psapi_main
stub qcap:qcap
stub qcap:smartteefilter
@@ -1034,13 +1070,16 @@ stub shlwapi:shreg
stub shlwapi:string
stub shlwapi:thread
stub shlwapi:url
+----- slc=dll is missing
stub snmpapi:util
stub spoolss:spoolss
stub sti:sti
stub sxs:cache
stub sxs:name
stub t2embed:t2embed
+----- taskschd=dll is missing
stub twain_32:dsm
+----- ucrtbase=dll is missing
stub urlmon:generated
stub urlmon:misc
stub urlmon:protocol
@@ -1078,11 +1117,14 @@ stub uxtheme:system
stub vbscript:createobj
stub vbscript:run
stub vbscript:vbscript
+----- vcomp=dll is missing
stub version:info
stub version:install
stub wbemdisp:wbemdisp
stub wbemprox:query
stub wbemprox:services
+----- webservices=dll is missing
+----- wer=dll is missing
stub wiaservc:wia
stub windowscodecsext:transform
stub windowscodecs:bitmap
@@ -1117,6 +1159,7 @@ stub winmm:mmio
stub winmm:timer
stub winmm:wave
stub winspool.drv:info
+----- wintab32=dll is missing
stub wintrust:asn
stub wintrust:crypt
stub wintrust:register
@@ -1125,13 +1168,15 @@ stub wlanapi:wlanapi
stub wldap32:parse
stub wmiutils:path
stub wmp:oleobj
-stub ws2_32:protocol
-stub ws2_32:sock
-stub wscript.exe:run
-stub wshom.ocx:wshom
-stub wsnmp32:wsnmp
-stub wtsapi32:wtsapi
+----- wpc=dll is native
+----- ws2_32=dll is a stub
+----- wscript.exe=dll is missing
+----- wshom.ocx=dll is missing an ordinal
+----- wsnmp32=dll is missing an entrypoint
+----- wtsapi32=dll is missing the requested side-by-side version
+----- xaudio2_7=load error 5
stub xcopy.exe:xcopy
+stub xinput1_3:xinput
stub xmllite:reader
xmllite:writer start dlls/xmllite/tests/writer.c
--
2.30.2
1
1
[PATCH] dbghelp: Fix the spelling and tweak the wording of a comment.
by Francois Gouget Feb. 18, 2022
by Francois Gouget Feb. 18, 2022
Feb. 18, 2022
Signed-off-by: Francois Gouget <fgouget(a)free.fr>
---
The comment was not really clear to me so I reworded it a bit.
Hopefully I understood it correctly.
---
dlls/dbghelp/symbol.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/dlls/dbghelp/symbol.c b/dlls/dbghelp/symbol.c
index 49172701405..64f376b42f0 100644
--- a/dlls/dbghelp/symbol.c
+++ b/dlls/dbghelp/symbol.c
@@ -66,10 +66,11 @@ int __cdecl symt_cmp_addr(const void* p1, const void* p2)
/* dbghelp exposes the internal symbols/types with DWORD indexes.
* - custom symbols are always stored with index starting at BASE_CUSTOM_SYMT
- * - for all the others (non custom) symbols:
- * + on 32bit machine, index is set to the actual adress of symt
- * + on 64bit machine, we have a dedicated array to store symt exposed to caller
- * index is the index in this array of the symbol
+ * - for all the other (non custom) symbols:
+ * + on 32-bit machines, index is set to the actual address of symt
+ * + on 64-bit machines, the symt address is stored in a dedicated array
+ * which is exposed to the caller and index is the index of the symbol in
+ * this array
*/
DWORD symt_ptr2index(struct module* module, const struct symt* sym)
{
--
2.30.2
1
0