You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Compare commits
87 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
a78a108cbd | ||
|
99e7c1d29a | ||
|
97e7c4ffaa | ||
|
36d0a71019 | ||
|
15a0c7553d | ||
|
54cc9a694c | ||
|
8521ab33ad | ||
|
dd324a1b34 | ||
|
f176092a54 | ||
|
f8de4c44e7 | ||
|
9f39422b15 | ||
|
07c920f32d | ||
|
dd53426bfd | ||
|
70bc9a4e63 | ||
|
0f6b6615d9 | ||
|
f7c96c2f6f | ||
|
6dd07ec3e7 | ||
|
3fe8a52e3c | ||
|
84612d7ffd | ||
|
92510a34ed | ||
|
2b8aff1781 | ||
|
2c7ec3747f | ||
|
8bfc3ca97f | ||
|
2d5e42b68c | ||
|
d33a3327ea | ||
|
7397ac1394 | ||
|
6b626b3f42 | ||
|
ec7eae9400 | ||
|
1a199958e7 | ||
|
2bf9187a19 | ||
|
b3eb9ef535 | ||
|
78c9cb74ff | ||
|
b52328c75a | ||
|
00fbf6afc8 | ||
|
1281216a26 | ||
|
dd166155b5 | ||
|
8112d76673 | ||
|
ee44570fb0 | ||
|
3b127e5f51 | ||
|
1e2b0d3e0c | ||
|
a358f0984b | ||
|
c08a9ab0d6 | ||
|
4483c9737e | ||
|
522961364f | ||
|
f8b5d1530a | ||
|
75760561c3 | ||
|
79af70fad1 | ||
|
3bb2024464 | ||
|
2ad4a084dd | ||
|
4465c82831 | ||
|
141b05e4ff | ||
|
50a0e530a8 | ||
|
b3a71a8918 | ||
|
82a0709ef2 | ||
|
bf90df4eed | ||
|
e2e200361f | ||
|
ad962f7d64 | ||
|
d28e0d12bb | ||
|
938ffad317 | ||
|
6b3228a788 | ||
|
6b709dc505 | ||
|
8ca9f08b92 | ||
|
39c7e02819 | ||
|
398d920e3a | ||
|
5a40e8f8b3 | ||
|
d4fa026231 | ||
|
43a640f8fd | ||
|
deb73bfa7c | ||
|
f2fd04974f | ||
|
9961dd76da | ||
|
d86ab36369 | ||
|
034992d90e | ||
|
5b67aa1fc3 | ||
|
d3cebda659 | ||
|
f438f86e52 | ||
|
17396cec6d | ||
|
c4d19a5e32 | ||
|
fbe5fa909a | ||
|
a8ed1e17c2 | ||
|
38d1d5a2fe | ||
|
4a42867417 | ||
|
436e1adc84 | ||
|
c46fab6261 | ||
|
e875860886 | ||
|
a6c6b83eb7 | ||
|
b727968b45 | ||
|
929a758ef4 |
@@ -66,7 +66,8 @@ Configuration:
|
||||
|
||||
Backends:
|
||||
--backend=patch Use regular 'patch' utility to apply patches (default)
|
||||
--backend=epatch Use 'epatch' to apply patches (Gentoo only)
|
||||
--backend=eapply Use 'eapply' to apply patches (Gentoo only)
|
||||
--backend=epatch Use 'epatch' to apply patches (Gentoo only, deprecated)
|
||||
--backend=git-am Use 'git am' to apply patches
|
||||
--backend=git-apply Use 'git apply' to apply patches
|
||||
--backend=stg Import the patches using stacked git
|
||||
|
@@ -1,136 +0,0 @@
|
||||
From 99d742d6850f82d5106a7402ea0fbc680e929202 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 30 Jul 2016 23:53:32 +0200
|
||||
Subject: comctl32: Avoid misleading indentation warnings.
|
||||
|
||||
---
|
||||
dlls/comctl32/listview.c | 54 ++++++++++++++++++++++++++++++++----------------
|
||||
1 file changed, 36 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c
|
||||
index cfdb7de..0298b12 100644
|
||||
--- a/dlls/comctl32/listview.c
|
||||
+++ b/dlls/comctl32/listview.c
|
||||
@@ -588,23 +588,28 @@ static const char* debugscrollinfo(const SCROLLINFO *pScrollInfo)
|
||||
|
||||
if (pScrollInfo == NULL) return "(null)";
|
||||
len = snprintf(buf, size, "{cbSize=%u, ", pScrollInfo->cbSize);
|
||||
- if (len == -1) goto end; buf += len; size -= len;
|
||||
+ if (len == -1) goto end;
|
||||
+ buf += len; size -= len;
|
||||
if (pScrollInfo->fMask & SIF_RANGE)
|
||||
len = snprintf(buf, size, "nMin=%d, nMax=%d, ", pScrollInfo->nMin, pScrollInfo->nMax);
|
||||
else len = 0;
|
||||
- if (len == -1) goto end; buf += len; size -= len;
|
||||
+ if (len == -1) goto end;
|
||||
+ buf += len; size -= len;
|
||||
if (pScrollInfo->fMask & SIF_PAGE)
|
||||
len = snprintf(buf, size, "nPage=%u, ", pScrollInfo->nPage);
|
||||
else len = 0;
|
||||
- if (len == -1) goto end; buf += len; size -= len;
|
||||
+ if (len == -1) goto end;
|
||||
+ buf += len; size -= len;
|
||||
if (pScrollInfo->fMask & SIF_POS)
|
||||
len = snprintf(buf, size, "nPos=%d, ", pScrollInfo->nPos);
|
||||
else len = 0;
|
||||
- if (len == -1) goto end; buf += len; size -= len;
|
||||
+ if (len == -1) goto end;
|
||||
+ buf += len; size -= len;
|
||||
if (pScrollInfo->fMask & SIF_TRACKPOS)
|
||||
len = snprintf(buf, size, "nTrackPos=%d, ", pScrollInfo->nTrackPos);
|
||||
else len = 0;
|
||||
- if (len == -1) goto end; buf += len;
|
||||
+ if (len == -1) goto end;
|
||||
+ buf += len;
|
||||
goto undo;
|
||||
end:
|
||||
buf = text + strlen(text);
|
||||
@@ -629,27 +634,33 @@ static const char* debuglvitem_t(const LVITEMW *lpLVItem, BOOL isW)
|
||||
|
||||
if (lpLVItem == NULL) return "(null)";
|
||||
len = snprintf(buf, size, "{iItem=%d, iSubItem=%d, ", lpLVItem->iItem, lpLVItem->iSubItem);
|
||||
- if (len == -1) goto end; buf += len; size -= len;
|
||||
+ if (len == -1) goto end;
|
||||
+ buf += len; size -= len;
|
||||
if (lpLVItem->mask & LVIF_STATE)
|
||||
len = snprintf(buf, size, "state=%x, stateMask=%x, ", lpLVItem->state, lpLVItem->stateMask);
|
||||
else len = 0;
|
||||
- if (len == -1) goto end; buf += len; size -= len;
|
||||
+ if (len == -1) goto end;
|
||||
+ buf += len; size -= len;
|
||||
if (lpLVItem->mask & LVIF_TEXT)
|
||||
len = snprintf(buf, size, "pszText=%s, cchTextMax=%d, ", debugtext_tn(lpLVItem->pszText, isW, 80), lpLVItem->cchTextMax);
|
||||
else len = 0;
|
||||
- if (len == -1) goto end; buf += len; size -= len;
|
||||
+ if (len == -1) goto end;
|
||||
+ buf += len; size -= len;
|
||||
if (lpLVItem->mask & LVIF_IMAGE)
|
||||
len = snprintf(buf, size, "iImage=%d, ", lpLVItem->iImage);
|
||||
else len = 0;
|
||||
- if (len == -1) goto end; buf += len; size -= len;
|
||||
+ if (len == -1) goto end;
|
||||
+ buf += len; size -= len;
|
||||
if (lpLVItem->mask & LVIF_PARAM)
|
||||
len = snprintf(buf, size, "lParam=%lx, ", lpLVItem->lParam);
|
||||
else len = 0;
|
||||
- if (len == -1) goto end; buf += len; size -= len;
|
||||
+ if (len == -1) goto end;
|
||||
+ buf += len; size -= len;
|
||||
if (lpLVItem->mask & LVIF_INDENT)
|
||||
len = snprintf(buf, size, "iIndent=%d, ", lpLVItem->iIndent);
|
||||
else len = 0;
|
||||
- if (len == -1) goto end; buf += len;
|
||||
+ if (len == -1) goto end;
|
||||
+ buf += len;
|
||||
goto undo;
|
||||
end:
|
||||
buf = text + strlen(text);
|
||||
@@ -665,31 +676,38 @@ static const char* debuglvcolumn_t(const LVCOLUMNW *lpColumn, BOOL isW)
|
||||
|
||||
if (lpColumn == NULL) return "(null)";
|
||||
len = snprintf(buf, size, "{");
|
||||
- if (len == -1) goto end; buf += len; size -= len;
|
||||
+ if (len == -1) goto end;
|
||||
+ buf += len; size -= len;
|
||||
if (lpColumn->mask & LVCF_SUBITEM)
|
||||
len = snprintf(buf, size, "iSubItem=%d, ", lpColumn->iSubItem);
|
||||
else len = 0;
|
||||
- if (len == -1) goto end; buf += len; size -= len;
|
||||
+ if (len == -1) goto end;
|
||||
+ buf += len; size -= len;
|
||||
if (lpColumn->mask & LVCF_FMT)
|
||||
len = snprintf(buf, size, "fmt=%x, ", lpColumn->fmt);
|
||||
else len = 0;
|
||||
- if (len == -1) goto end; buf += len; size -= len;
|
||||
+ if (len == -1) goto end;
|
||||
+ buf += len; size -= len;
|
||||
if (lpColumn->mask & LVCF_WIDTH)
|
||||
len = snprintf(buf, size, "cx=%d, ", lpColumn->cx);
|
||||
else len = 0;
|
||||
- if (len == -1) goto end; buf += len; size -= len;
|
||||
+ if (len == -1) goto end;
|
||||
+ buf += len; size -= len;
|
||||
if (lpColumn->mask & LVCF_TEXT)
|
||||
len = snprintf(buf, size, "pszText=%s, cchTextMax=%d, ", debugtext_tn(lpColumn->pszText, isW, 80), lpColumn->cchTextMax);
|
||||
else len = 0;
|
||||
- if (len == -1) goto end; buf += len; size -= len;
|
||||
+ if (len == -1) goto end;
|
||||
+ buf += len; size -= len;
|
||||
if (lpColumn->mask & LVCF_IMAGE)
|
||||
len = snprintf(buf, size, "iImage=%d, ", lpColumn->iImage);
|
||||
else len = 0;
|
||||
- if (len == -1) goto end; buf += len; size -= len;
|
||||
+ if (len == -1) goto end;
|
||||
+ buf += len; size -= len;
|
||||
if (lpColumn->mask & LVCF_ORDER)
|
||||
len = snprintf(buf, size, "iOrder=%d, ", lpColumn->iOrder);
|
||||
else len = 0;
|
||||
- if (len == -1) goto end; buf += len;
|
||||
+ if (len == -1) goto end;
|
||||
+ buf += len;
|
||||
goto undo;
|
||||
end:
|
||||
buf = text + strlen(text);
|
||||
--
|
||||
2.9.0
|
||||
|
@@ -0,0 +1,39 @@
|
||||
From 0cd3973a47317aff488c63eeb33ddedb2cba2b50 Mon Sep 17 00:00:00 2001
|
||||
From: Hans Leidekker <hans@codeweavers.com>
|
||||
Date: Sat, 15 Oct 2016 17:27:41 +0200
|
||||
Subject: include: Avoid duplicate definition of PEVENT_FILTER_DESCRIPTOR.
|
||||
|
||||
---
|
||||
include/evntrace.h | 14 ++++++--------
|
||||
1 file changed, 6 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/include/evntrace.h b/include/evntrace.h
|
||||
index b54cd11..bb1ce03 100644
|
||||
--- a/include/evntrace.h
|
||||
+++ b/include/evntrace.h
|
||||
@@ -248,16 +248,14 @@ typedef struct _EVENT_TRACE_PROPERTIES
|
||||
ULONG LoggerNameOffset;
|
||||
} EVENT_TRACE_PROPERTIES, *PEVENT_TRACE_PROPERTIES;
|
||||
|
||||
-typedef struct _EVENT_FILTER_DESCRIPTOR *PEVENT_FILTER_DESCRIPTOR;
|
||||
-
|
||||
typedef struct _ENABLE_TRACE_PARAMETERS
|
||||
{
|
||||
- ULONG Version;
|
||||
- ULONG EnableProperty;
|
||||
- ULONG ControlFlags;
|
||||
- GUID SourceId;
|
||||
- PEVENT_FILTER_DESCRIPTOR EnableFilterDesc;
|
||||
- ULONG FilterDescCount;
|
||||
+ ULONG Version;
|
||||
+ ULONG EnableProperty;
|
||||
+ ULONG ControlFlags;
|
||||
+ GUID SourceId;
|
||||
+ struct _EVENT_FILTER_DESCRIPTOR *EnableFilterDesc;
|
||||
+ ULONG FilterDescCount;
|
||||
} ENABLE_TRACE_PARAMETERS, *PENABLE_TRACE_PARAMETERS;
|
||||
|
||||
#define INVALID_PROCESSTRACE_HANDLE ((TRACEHANDLE)~(ULONG_PTR)0)
|
||||
--
|
||||
2.9.0
|
||||
|
@@ -1,248 +0,0 @@
|
||||
From 41ec9334edb0453cbc979d7655b430061af02dbb Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 30 Jul 2016 23:54:51 +0200
|
||||
Subject: dwrite/tests: Avoid misleading indentation warnings.
|
||||
|
||||
---
|
||||
dlls/dwrite/tests/analyzer.c | 2 ++
|
||||
dlls/dwrite/tests/font.c | 28 ++++++++++++++++++++++++++++
|
||||
dlls/dwrite/tests/layout.c | 14 ++++++++++++++
|
||||
3 files changed, 44 insertions(+)
|
||||
|
||||
diff --git a/dlls/dwrite/tests/analyzer.c b/dlls/dwrite/tests/analyzer.c
|
||||
index 1e3b318..ddd3584 100644
|
||||
--- a/dlls/dwrite/tests/analyzer.c
|
||||
+++ b/dlls/dwrite/tests/analyzer.c
|
||||
@@ -1167,7 +1167,9 @@ static void test_GetScriptProperties(void)
|
||||
ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
|
||||
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
hr = IDWriteTextAnalyzer1_GetScriptProperties(analyzer1, sa, NULL);
|
||||
+}
|
||||
|
||||
sa.script = 0;
|
||||
hr = IDWriteTextAnalyzer1_GetScriptProperties(analyzer1, sa, &props);
|
||||
diff --git a/dlls/dwrite/tests/font.c b/dlls/dwrite/tests/font.c
|
||||
index 3b402b8..5691388 100644
|
||||
--- a/dlls/dwrite/tests/font.c
|
||||
+++ b/dlls/dwrite/tests/font.c
|
||||
@@ -842,8 +842,10 @@ static void test_CreateFontFromLOGFONT(void)
|
||||
EXPECT_HR(hr, S_OK);
|
||||
|
||||
if (0)
|
||||
+{
|
||||
/* null out parameter crashes this call */
|
||||
hr = IDWriteGdiInterop_CreateFontFromLOGFONT(interop, NULL, NULL);
|
||||
+}
|
||||
|
||||
font = (void*)0xdeadbeef;
|
||||
hr = IDWriteGdiInterop_CreateFontFromLOGFONT(interop, NULL, &font);
|
||||
@@ -1013,7 +1015,9 @@ static void test_CreateBitmapRenderTarget(void)
|
||||
EXPECT_HR(hr, S_OK);
|
||||
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
hr = IDWriteBitmapRenderTarget_GetSize(target, NULL);
|
||||
+}
|
||||
|
||||
size.cx = size.cy = -1;
|
||||
hr = IDWriteBitmapRenderTarget_GetSize(target, &size);
|
||||
@@ -1159,7 +1163,9 @@ if (0) /* crashes on native */
|
||||
|
||||
/* transform tests, current hdc transform is not immediately affected */
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
hr = IDWriteBitmapRenderTarget_GetCurrentTransform(target, NULL);
|
||||
+}
|
||||
|
||||
memset(&m, 0xcc, sizeof(m));
|
||||
hr = IDWriteBitmapRenderTarget_GetCurrentTransform(target, &m);
|
||||
@@ -1406,7 +1412,9 @@ static void test_GetFamilyNames(void)
|
||||
EXPECT_HR(hr, S_OK);
|
||||
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
hr = IDWriteFontFamily_GetFamilyNames(family, NULL);
|
||||
+}
|
||||
|
||||
hr = IDWriteFontFamily_GetFamilyNames(family, &names);
|
||||
ok(hr == S_OK, "got 0x%08x\n", hr);
|
||||
@@ -1421,7 +1429,9 @@ if (0) /* crashes on native */
|
||||
|
||||
/* GetStringLength */
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
hr = IDWriteLocalizedStrings_GetStringLength(names, 0, NULL);
|
||||
+}
|
||||
|
||||
len = 100;
|
||||
hr = IDWriteLocalizedStrings_GetStringLength(names, 10, &len);
|
||||
@@ -1441,7 +1451,9 @@ if (0) /* crashes on native */
|
||||
ok(hr == E_FAIL, "got 0x%08x\n", hr);
|
||||
|
||||
if (0)
|
||||
+{
|
||||
hr = IDWriteLocalizedStrings_GetString(names, 0, NULL, 100);
|
||||
+}
|
||||
|
||||
buffer[0] = 1;
|
||||
hr = IDWriteLocalizedStrings_GetString(names, 10, buffer, 100);
|
||||
@@ -1513,7 +1525,9 @@ static void test_CreateFontFace(void)
|
||||
ok(hr == E_NOINTERFACE, "got 0x%08x\n", hr);
|
||||
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
hr = IDWriteFont_CreateFontFace(font, NULL);
|
||||
+}
|
||||
|
||||
fontface = NULL;
|
||||
hr = IDWriteFont_CreateFontFace(font, &fontface);
|
||||
@@ -1846,7 +1860,9 @@ static void test_GetMetrics(void)
|
||||
DeleteObject(hfont);
|
||||
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
IDWriteFont_GetMetrics(font, NULL);
|
||||
+}
|
||||
|
||||
memset(&metrics, 0, sizeof(metrics));
|
||||
IDWriteFont_GetMetrics(font, &metrics);
|
||||
@@ -2649,7 +2665,9 @@ if (0) { /* crashes on win10 */
|
||||
todo_wine
|
||||
ok(hr == S_OK, "got 0x%08x\n", hr);
|
||||
if (face2)
|
||||
+{
|
||||
IDWriteFontFace_Release(face2);
|
||||
+}
|
||||
|
||||
file2 = NULL;
|
||||
hr = IDWriteFactory_CreateCustomFontFileReference(factory, &fontrsrc, sizeof(HRSRC), &rloader, &file2);
|
||||
@@ -2682,7 +2700,9 @@ if (face2)
|
||||
ok(indices[1] == 11, "got index %i\n", indices[1]);
|
||||
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
hr = IDWriteFontFace_GetGlyphIndices(face, NULL, 1, NULL);
|
||||
+}
|
||||
|
||||
hr = IDWriteFontFace_GetGlyphIndices(face, codePoints, 1, indices);
|
||||
ok(hr == S_OK, "got 0x%08x\n", hr);
|
||||
@@ -4130,7 +4150,9 @@ static void test_GetKerningPairAdjustments(void)
|
||||
ok(hr == E_INVALIDARG || broken(hr == S_OK) /* win8 */, "got 0x%08x\n", hr);
|
||||
|
||||
if (0) /* crashes on native */
|
||||
+ {
|
||||
hr = IDWriteFontFace1_GetKerningPairAdjustments(fontface1, 1, NULL, NULL);
|
||||
+ }
|
||||
|
||||
adjustments[0] = 1;
|
||||
hr = IDWriteFontFace1_GetKerningPairAdjustments(fontface1, 1, NULL, adjustments);
|
||||
@@ -4837,7 +4859,9 @@ static void test_GetGdiCompatibleMetrics_face(IDWriteFontFace *face)
|
||||
expected.subscriptSizeY = round(round(design_metrics1.subscriptSizeY * scale) / scale);
|
||||
expected.superscriptPositionX = round(round(design_metrics1.superscriptPositionX * scale) / scale);
|
||||
if (0) /* this fails for 3 emsizes, Tahoma from [5, 2048] range */
|
||||
+ {
|
||||
expected.superscriptPositionY = round(round(design_metrics1.superscriptPositionY * scale) / scale);
|
||||
+ }
|
||||
expected.superscriptSizeX = round(round(design_metrics1.superscriptSizeX * scale) / scale);
|
||||
expected.superscriptSizeY = round(round(design_metrics1.superscriptSizeY * scale) / scale);
|
||||
expected.hasTypographicMetrics = design_metrics1.hasTypographicMetrics;
|
||||
@@ -4904,7 +4928,9 @@ static void test_GetPanose(void)
|
||||
DWRITE_PANOSE panose;
|
||||
|
||||
if (0) /* crashes on native */
|
||||
+ {
|
||||
IDWriteFont1_GetPanose(font1, NULL);
|
||||
+ }
|
||||
|
||||
memset(&panose, 0, sizeof(panose));
|
||||
IDWriteFont1_GetPanose(font1, &panose);
|
||||
@@ -5211,8 +5237,10 @@ static void test_GetRecommendedRenderingMode(void)
|
||||
win_skip("IDWriteFontFace3::GetRecommendedRenderingMode() is not supported.\n");
|
||||
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
hr = IDWriteFontFace_GetRecommendedRenderingMode(fontface, 3.0, 1.0,
|
||||
DWRITE_MEASURING_MODE_GDI_CLASSIC, NULL, NULL);
|
||||
+}
|
||||
|
||||
mode = 10;
|
||||
hr = IDWriteFontFace_GetRecommendedRenderingMode(fontface, 3.0, 1.0,
|
||||
diff --git a/dlls/dwrite/tests/layout.c b/dlls/dwrite/tests/layout.c
|
||||
index 03038d8..d92d419 100644
|
||||
--- a/dlls/dwrite/tests/layout.c
|
||||
+++ b/dlls/dwrite/tests/layout.c
|
||||
@@ -983,7 +983,9 @@ static void test_CreateTextFormat(void)
|
||||
ok(hr == S_OK, "got 0x%08x\n", hr);
|
||||
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
hr = IDWriteTextFormat_GetFontCollection(format, NULL);
|
||||
+}
|
||||
|
||||
collection = NULL;
|
||||
hr = IDWriteTextFormat_GetFontCollection(format, &collection);
|
||||
@@ -2235,7 +2237,9 @@ static void test_SetLocaleName(void)
|
||||
ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
|
||||
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
hr = IDWriteTextLayout_GetLocaleName(layout, 0, NULL, 1, NULL);
|
||||
+}
|
||||
|
||||
buffW[0] = 0;
|
||||
range.length = 0;
|
||||
@@ -2447,7 +2451,9 @@ static void test_fallback(void)
|
||||
}
|
||||
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
hr = IDWriteTextLayout2_GetFontFallback(layout2, NULL);
|
||||
+}
|
||||
|
||||
fallback = (void*)0xdeadbeef;
|
||||
hr = IDWriteTextLayout2_GetFontFallback(layout2, &fallback);
|
||||
@@ -4371,7 +4377,9 @@ todo_wine {
|
||||
todo_wine
|
||||
ok(font != NULL, "got %p\n", font);
|
||||
if (font)
|
||||
+{
|
||||
IDWriteFont_Release(font);
|
||||
+}
|
||||
|
||||
/* same latin text, full length */
|
||||
g_source = strW;
|
||||
@@ -4388,7 +4396,9 @@ todo_wine {
|
||||
todo_wine
|
||||
ok(font != NULL, "got %p\n", font);
|
||||
if (font)
|
||||
+{
|
||||
IDWriteFont_Release(font);
|
||||
+}
|
||||
|
||||
/* string 'a\x3058b' */
|
||||
g_source = str2W;
|
||||
@@ -4405,7 +4415,9 @@ todo_wine {
|
||||
todo_wine
|
||||
ok(font != NULL, "got %p\n", font);
|
||||
if (font)
|
||||
+{
|
||||
IDWriteFont_Release(font);
|
||||
+}
|
||||
|
||||
g_source = str2W;
|
||||
mappedlength = 0;
|
||||
@@ -4545,7 +4557,9 @@ static void test_FontFallbackBuilder(void)
|
||||
ok(hr == S_OK, "got 0x%08x\n", hr);
|
||||
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
hr = IDWriteFontFallbackBuilder_CreateFontFallback(builder, NULL);
|
||||
+}
|
||||
|
||||
hr = IDWriteFontFallbackBuilder_CreateFontFallback(builder, &fallback);
|
||||
ok(hr == S_OK, "got 0x%08x\n", hr);
|
||||
--
|
||||
2.9.0
|
||||
|
@@ -1,27 +0,0 @@
|
||||
From e733682785c0f2001a972090693c4b49bb8e1090 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 30 Jul 2016 23:55:40 +0200
|
||||
Subject: mshtml: Avoid misleading indentation warnings.
|
||||
|
||||
---
|
||||
dlls/mshtml/script.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/mshtml/script.c b/dlls/mshtml/script.c
|
||||
index 40deda4..19f3541 100644
|
||||
--- a/dlls/mshtml/script.c
|
||||
+++ b/dlls/mshtml/script.c
|
||||
@@ -991,8 +991,8 @@ static HRESULT ScriptBSC_read_data(BSCallback *bsc, IStream *stream)
|
||||
if(This->bsc.readed >= This->size) {
|
||||
void *new_buf;
|
||||
new_buf = heap_realloc(This->buf, This->size << 1);
|
||||
- if(!new_buf)
|
||||
- return E_OUTOFMEMORY;
|
||||
+ if(!new_buf)
|
||||
+ return E_OUTOFMEMORY;
|
||||
This->size <<= 1;
|
||||
This->buf = new_buf;
|
||||
}
|
||||
--
|
||||
2.9.0
|
||||
|
@@ -1,214 +0,0 @@
|
||||
From 5a398b6537c252196f0f3df6ea4dfbc3956e322b Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 30 Jul 2016 23:56:41 +0200
|
||||
Subject: msvcirt/tests: Avoid misleading indentation warnings.
|
||||
|
||||
---
|
||||
dlls/msvcirt/tests/msvcirt.c | 40 ++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 40 insertions(+)
|
||||
|
||||
diff --git a/dlls/msvcirt/tests/msvcirt.c b/dlls/msvcirt/tests/msvcirt.c
|
||||
index a921b27..11c8b4f 100644
|
||||
--- a/dlls/msvcirt/tests/msvcirt.c
|
||||
+++ b/dlls/msvcirt/tests/msvcirt.c
|
||||
@@ -2896,7 +2896,9 @@ static void test_ostream(void) {
|
||||
|
||||
/* flush */
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
pos = call_func1(p_ostream_flush, &os1);
|
||||
+}
|
||||
os1.base_ios.sb = &fb2.base;
|
||||
call_func1(p_filebuf_ctor, &fb2);
|
||||
pos = call_func1(p_ostream_flush, &os1);
|
||||
@@ -2952,7 +2954,9 @@ if (0) /* crashes on native */
|
||||
os1.base_ios.tie = &os2;
|
||||
os2.base_ios.sb = NULL;
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
ret = (int) call_func1(p_ostream_opfx, &os1);
|
||||
+}
|
||||
os2.base_ios.sb = &fb2.base;
|
||||
os2.base_ios.state = IOSTATE_badbit;
|
||||
ret = (int) call_func3(p_streambuf_xsputn, &fb1.base, "We've known each other", 22);
|
||||
@@ -2979,7 +2983,9 @@ if (0) /* crashes on native */
|
||||
ok(ret == 1, "expected 1 got %d\n", ret);
|
||||
os1.base_ios.sb = NULL;
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
call_func1(p_ostream_osfx, &os1);
|
||||
+}
|
||||
os1.base_ios.sb = &fb1.base;
|
||||
os1.base_ios.flags = FLAGS_unitbuf;
|
||||
call_func1(p_ostream_osfx, &os1);
|
||||
@@ -3019,7 +3025,9 @@ if (0) /* crashes on native */
|
||||
ok(fb1.base.pptr == fb1.base.base + 1, "wrong put pointer, expected %p got %p\n", fb1.base.base + 1, fb1.base.pptr);
|
||||
os1.base_ios.sb = NULL;
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
pos = call_func2(p_ostream_put_char, &os1, 'c');
|
||||
+}
|
||||
os1.base_ios.sb = &fb1.base;
|
||||
os1.base_ios.width = 5;
|
||||
call_func1(p_filebuf_sync, &fb1);
|
||||
@@ -3051,7 +3059,9 @@ if (0) /* crashes on native */
|
||||
ok(fb1.base.pptr == fb1.base.base + 7, "wrong put pointer, expected %p got %p\n", fb1.base.base + 7, fb1.base.pptr);
|
||||
os1.base_ios.sb = NULL;
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
pos = call_func3(p_ostream_write_char, &os1, "been", 4);
|
||||
+}
|
||||
os1.base_ios.sb = &fb1.base;
|
||||
os1.base_ios.width = 5;
|
||||
call_func1(p_filebuf_sync, &fb1);
|
||||
@@ -3167,7 +3177,9 @@ if (0) /* crashes on native */
|
||||
ok(pos == &os1, "wrong return, expected %p got %p\n", &os1, pos);
|
||||
ok(!strncmp(fb1.base.pptr - 6, "abzzzz", 6), "expected 'abzzzz' got '%s'\n", fb1.base.pptr - 6);
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
pos = call_func3(p_ostream_writepad, &os1, NULL, "o");
|
||||
+}
|
||||
pos = call_func3(p_ostream_writepad, &os1, "", "hello");
|
||||
ok(pos == &os1, "wrong return, expected %p got %p\n", &os1, pos);
|
||||
ok(!strncmp(fb1.base.pptr - 6, "helloz", 6), "expected 'helloz' got '%s'\n", fb1.base.pptr - 6);
|
||||
@@ -3580,7 +3592,9 @@ static void test_istream(void)
|
||||
ok(is2.base_ios.precision == 6, "expected 6 got %d\n", is2.base_ios.precision);
|
||||
ok(is2.base_ios.width == 0, "expected 0 got %d\n", is2.base_ios.width);
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
pis = call_func2(p_istream_assign, &is2, NULL);
|
||||
+}
|
||||
is2.extract_delim = is2.count = 0xabababab;
|
||||
is2.base_ios.sb = (streambuf*) 0xabababab;
|
||||
is2.base_ios.state = 0xabababab;
|
||||
@@ -3616,7 +3630,9 @@ if (0) /* crashes on native */
|
||||
/* eatwhite */
|
||||
is1.extract_delim = is1.count = 0;
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
is1.base_ios.sb = NULL;
|
||||
+}
|
||||
is1.base_ios.state = IOSTATE_badbit;
|
||||
is1.base_ios.flags = 0;
|
||||
call_func1(p_istream_eatwhite, &is1);
|
||||
@@ -3684,7 +3700,9 @@ if (0) /* crashes on native */
|
||||
ok(is1.base_ios.state == (IOSTATE_badbit|IOSTATE_failbit), "expected %d got %d\n",
|
||||
IOSTATE_badbit|IOSTATE_failbit, is1.base_ios.state);
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
is1.base_ios.sb = NULL;
|
||||
+}
|
||||
is1.base_ios.state = IOSTATE_goodbit;
|
||||
is1.base_ios.tie = &os;
|
||||
pos = call_func3(p_ostream_sb_ctor, &os, &fb2.base, TRUE);
|
||||
@@ -3951,7 +3969,9 @@ if (0) /* crashes on native */
|
||||
ok(fb1.base.gptr == NULL, "wrong get pointer, expected %p got %p\n", NULL, fb1.base.gptr);
|
||||
ok(buffer[0] == 0, "expected 0 got %d\n", buffer[0]);
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
pis = call_func4(p_istream_get_str_delim, &is1, (char*) 0x1, 5, 0);
|
||||
+}
|
||||
|
||||
/* get_str */
|
||||
is1.extract_delim = is1.count = 0xabababab;
|
||||
@@ -4089,7 +4109,9 @@ if (0) /* crashes on native */
|
||||
ok(fb1.base.gptr == fb1.base.base + 3, "wrong get pointer, expected %p got %p\n", fb1.base.base + 3, fb1.base.gptr);
|
||||
ok(c == -50, "expected %d got %d\n", -50, c);
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
pis = call_func2(p_istream_get_char, &is1, NULL);
|
||||
+}
|
||||
fb1.base.gptr = fb1.base.base + 30;
|
||||
pis = call_func2(p_istream_get_char, &is1, &c);
|
||||
ok(pis == &is1, "wrong return, expected %p got %p\n", &is1, pis);
|
||||
@@ -4201,7 +4223,9 @@ if (0) /* crashes on native */
|
||||
ok(fb2.base.epptr == NULL, "wrong put end, expected %p got %p\n", NULL, fb2.base.epptr);
|
||||
is1.base_ios.state = IOSTATE_goodbit;
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
pis = call_func3(p_istream_get_sb, &is1, NULL, '?');
|
||||
+}
|
||||
*fb1.base.gptr = -50;
|
||||
pis = call_func3(p_istream_get_sb, &is1, &fb2.base, -50);
|
||||
ok(pis == &is1, "wrong return, expected %p got %p\n", &is1, pis);
|
||||
@@ -4395,7 +4419,9 @@ if (0) /* crashes on native */
|
||||
ok(is1.base_ios.state == IOSTATE_goodbit, "expected %d got %d\n", IOSTATE_goodbit, is1.base_ios.state);
|
||||
ok(fb1.base.gptr == fb1.base.base, "wrong get pointer, expected %p got %p\n", fb1.base.base, fb1.base.gptr);
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
is1.base_ios.sb = NULL;
|
||||
+}
|
||||
fb1.base.gptr = fb1.base.base + 14;
|
||||
ret = (int) call_func1(p_istream_peek, &is1);
|
||||
ok(ret == 206, "expected 206 got %d\n", ret);
|
||||
@@ -4440,7 +4466,9 @@ if (0) /* crashes on native */
|
||||
ok(fb1.base.gptr == fb1.base.base + 15, "wrong get pointer, expected %p got %p\n", fb1.base.base + 15, fb1.base.gptr);
|
||||
is1.base_ios.state = IOSTATE_goodbit;
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
is1.base_ios.sb = NULL;
|
||||
+}
|
||||
pis = call_func2(p_istream_putback, &is1, -40);
|
||||
ok(pis == &is1, "wrong return, expected %p got %p\n", &is1, pis);
|
||||
ok(is1.base_ios.state == IOSTATE_goodbit, "expected %d got %d\n", IOSTATE_goodbit, is1.base_ios.state);
|
||||
@@ -4498,13 +4526,17 @@ if (0) /* crashes on native */
|
||||
ok(!strncmp(buffer, fb1.base.base, 30), "unexpected buffer content, got '%s'\n", buffer);
|
||||
ok(buffer[30] == 'A', "expected 'A' got %d\n", buffer[30]);
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
is1.base_ios.sb = NULL;
|
||||
+}
|
||||
is1.base_ios.state = IOSTATE_goodbit;
|
||||
fb1.base.eback = fb1.base.gptr = fb1.base.base;
|
||||
fb1.base.egptr = fb1.base.base + 30;
|
||||
memset(buffer, 'A', sizeof(buffer));
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
pis = call_func3(p_istream_read, &is1, buffer, -1);
|
||||
+}
|
||||
pis = call_func3(p_istream_read, &is1, buffer, 0);
|
||||
ok(pis == &is1, "wrong return, expected %p got %p\n", &is1, pis);
|
||||
ok(is1.count == 0, "expected 0 got %d\n", is1.count);
|
||||
@@ -4520,7 +4552,9 @@ if (0) /* crashes on native */
|
||||
ok(fb1.base.gptr == NULL, "wrong get pointer, expected %p got %p\n", NULL, fb1.base.gptr);
|
||||
ok(_tell(fb1.fd) == 0, "expected 0 got %d\n", _tell(fb1.fd));
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
is1.base_ios.sb = NULL;
|
||||
+}
|
||||
pis = call_func2(p_istream_seekg, &is1, -5);
|
||||
ok(pis == &is1, "wrong return, expected %p got %p\n", &is1, pis);
|
||||
ok(is1.base_ios.state == IOSTATE_failbit, "expected %d got %d\n", IOSTATE_failbit, is1.base_ios.state);
|
||||
@@ -4553,7 +4587,9 @@ if (0) /* crashes on native */
|
||||
ok(is1.base_ios.state == IOSTATE_failbit, "expected %d got %d\n", IOSTATE_failbit, is1.base_ios.state);
|
||||
ok(fb1.base.gptr == fb1.base.base, "wrong get pointer, expected %p got %p\n", fb1.base.base, fb1.base.gptr);
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
is1.base_ios.sb = NULL;
|
||||
+}
|
||||
fb1.base.gptr = fb1.base.egptr;
|
||||
pis = call_func3(p_istream_seekg_offset, &is1, 0, SEEKDIR_end);
|
||||
ok(pis == &is1, "wrong return, expected %p got %p\n", &is1, pis);
|
||||
@@ -4574,7 +4610,9 @@ if (0) /* crashes on native */
|
||||
ok(ret == 0, "expected 0 got %d\n", ret);
|
||||
ok(is1.base_ios.state == IOSTATE_goodbit, "expected %d got %d\n", IOSTATE_goodbit, is1.base_ios.state);
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
is1.base_ios.sb = NULL;
|
||||
+}
|
||||
fb1.base.eback = fb1.base.gptr = fb1.base.base;
|
||||
fb1.base.egptr = fb1.base.base + 30;
|
||||
ret = (int) call_func1(p_istream_sync, &is1);
|
||||
@@ -4607,7 +4645,9 @@ if (0) /* crashes on native */
|
||||
ok(ret == 24, "expected 24 got %d\n", ret);
|
||||
ok(is1.base_ios.state == IOSTATE_goodbit, "expected %d got %d\n", IOSTATE_goodbit, is1.base_ios.state);
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
is1.base_ios.sb = NULL;
|
||||
+}
|
||||
fb1.base.eback = fb1.base.gptr = fb1.base.base;
|
||||
fb1.base.egptr = fb1.base.base + 30;
|
||||
ret = (int) call_func1(p_istream_tellg, &is1);
|
||||
--
|
||||
2.9.0
|
||||
|
@@ -1,41 +0,0 @@
|
||||
From dfefd1a7a793d0a6e4fcfb02438b7d9383f9ab97 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 30 Jul 2016 23:57:11 +0200
|
||||
Subject: oleaut32/tests: Avoid misleading indentation warnings.
|
||||
|
||||
---
|
||||
dlls/ole32/tests/compobj.c | 2 ++
|
||||
dlls/oleaut32/tests/safearray.c | 2 ++
|
||||
2 files changed, 4 insertions(+)
|
||||
|
||||
diff --git a/dlls/ole32/tests/compobj.c b/dlls/ole32/tests/compobj.c
|
||||
index 3b523d1..627f9a4 100644
|
||||
--- a/dlls/ole32/tests/compobj.c
|
||||
+++ b/dlls/ole32/tests/compobj.c
|
||||
@@ -2880,7 +2880,9 @@ static void test_CoGetMalloc(void)
|
||||
HRESULT hr;
|
||||
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
hr = CoGetMalloc(0, NULL);
|
||||
+}
|
||||
|
||||
imalloc = (void*)0xdeadbeef;
|
||||
hr = CoGetMalloc(0, &imalloc);
|
||||
diff --git a/dlls/oleaut32/tests/safearray.c b/dlls/oleaut32/tests/safearray.c
|
||||
index f57b886..787891c 100644
|
||||
--- a/dlls/oleaut32/tests/safearray.c
|
||||
+++ b/dlls/oleaut32/tests/safearray.c
|
||||
@@ -706,7 +706,9 @@ static void test_safearray(void)
|
||||
}
|
||||
|
||||
if (!pSafeArrayAllocDescriptorEx)
|
||||
+ {
|
||||
return;
|
||||
+ }
|
||||
|
||||
for (i=0;i<sizeof(vttypes)/sizeof(vttypes[0]);i++) {
|
||||
a = NULL;
|
||||
--
|
||||
2.9.0
|
||||
|
@@ -1,26 +0,0 @@
|
||||
From 9bda354ab7636fb357f29f777892de3c39ff06ae Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 30 Jul 2016 23:57:37 +0200
|
||||
Subject: rpcrt4/tests: Avoid misleading indentation warnings.
|
||||
|
||||
---
|
||||
dlls/rpcrt4/tests/ndr_marshall.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/dlls/rpcrt4/tests/ndr_marshall.c b/dlls/rpcrt4/tests/ndr_marshall.c
|
||||
index aeecf8c..b71f07b 100644
|
||||
--- a/dlls/rpcrt4/tests/ndr_marshall.c
|
||||
+++ b/dlls/rpcrt4/tests/ndr_marshall.c
|
||||
@@ -2434,7 +2434,9 @@ static void test_MesEncodeFixedBufferHandleCreate(void)
|
||||
todo_wine
|
||||
ok(status == RPC_S_INVALID_ARG, "got %d\n", status);
|
||||
if (status == RPC_S_OK)
|
||||
+{
|
||||
MesHandleFree(handle);
|
||||
+}
|
||||
|
||||
status = MesEncodeFixedBufferHandleCreate(buffer, 32, NULL, &handle);
|
||||
ok(status == RPC_S_INVALID_ARG, "got %d\n", status);
|
||||
--
|
||||
2.9.0
|
||||
|
@@ -1,36 +0,0 @@
|
||||
From b79a3f64ec023a17955620362c748320c17a9ed0 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 30 Jul 2016 23:57:59 +0200
|
||||
Subject: scrrun/tests: Avoid misleading indentation warnings.
|
||||
|
||||
---
|
||||
dlls/scrrun/tests/dictionary.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/dlls/scrrun/tests/dictionary.c b/dlls/scrrun/tests/dictionary.c
|
||||
index a1b7d06..1880c20 100644
|
||||
--- a/dlls/scrrun/tests/dictionary.c
|
||||
+++ b/dlls/scrrun/tests/dictionary.c
|
||||
@@ -102,7 +102,9 @@ static void test_comparemode(void)
|
||||
ok(hr == S_OK, "got 0x%08x\n", hr);
|
||||
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
hr = IDictionary_get_CompareMode(dict, NULL);
|
||||
+}
|
||||
|
||||
method = 10;
|
||||
hr = IDictionary_get_CompareMode(dict, &method);
|
||||
@@ -934,7 +936,9 @@ static void test_IEnumVARIANT(void)
|
||||
ok(hr == S_OK, "got 0x%08x\n", hr);
|
||||
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
hr = IDictionary__NewEnum(dict, NULL);
|
||||
+}
|
||||
|
||||
hr = IDictionary__NewEnum(dict, &enum1);
|
||||
ok(hr == S_OK, "got 0x%08x\n", hr);
|
||||
--
|
||||
2.9.0
|
||||
|
@@ -1,56 +0,0 @@
|
||||
From f1fa74c00e8c42d4ffd17689532ade8663015c6e Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 30 Jul 2016 23:58:37 +0200
|
||||
Subject: shell32/tests: Avoid misleading indentation warnings.
|
||||
|
||||
---
|
||||
dlls/shell32/tests/appbar.c | 2 ++
|
||||
dlls/shell32/tests/shelldispatch.c | 2 ++
|
||||
dlls/shell32/tests/shellole.c | 2 ++
|
||||
3 files changed, 6 insertions(+)
|
||||
|
||||
diff --git a/dlls/shell32/tests/appbar.c b/dlls/shell32/tests/appbar.c
|
||||
index dbac4e6..7ec3c34 100644
|
||||
--- a/dlls/shell32/tests/appbar.c
|
||||
+++ b/dlls/shell32/tests/appbar.c
|
||||
@@ -424,7 +424,9 @@ static void test_GetCurrentProcessExplicitAppUserModelID(void)
|
||||
}
|
||||
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
hr = pGetCurrentProcessExplicitAppUserModelID(NULL);
|
||||
+}
|
||||
|
||||
appid = (void*)0xdeadbeef;
|
||||
hr = pGetCurrentProcessExplicitAppUserModelID(&appid);
|
||||
diff --git a/dlls/shell32/tests/shelldispatch.c b/dlls/shell32/tests/shelldispatch.c
|
||||
index 70b6c36..f42504e 100644
|
||||
--- a/dlls/shell32/tests/shelldispatch.c
|
||||
+++ b/dlls/shell32/tests/shelldispatch.c
|
||||
@@ -729,7 +729,9 @@ todo_wine
|
||||
todo_wine
|
||||
ok(hr == S_OK, "got 0x%08x\n", hr);
|
||||
if (hr == S_OK)
|
||||
+{
|
||||
test_dispatch_typeinfo(doc, viewdual_riids);
|
||||
+}
|
||||
|
||||
IWebBrowser2_Release(wb);
|
||||
|
||||
diff --git a/dlls/shell32/tests/shellole.c b/dlls/shell32/tests/shellole.c
|
||||
index e8cf744..99f0ccb 100644
|
||||
--- a/dlls/shell32/tests/shellole.c
|
||||
+++ b/dlls/shell32/tests/shellole.c
|
||||
@@ -872,7 +872,9 @@ static void test_SHCreateSessionKey(void)
|
||||
}
|
||||
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
hr = pSHCreateSessionKey(KEY_READ, NULL);
|
||||
+}
|
||||
|
||||
hkey = (HKEY)0xdeadbeef;
|
||||
hr = pSHCreateSessionKey(0, &hkey);
|
||||
--
|
||||
2.9.0
|
||||
|
@@ -1,26 +0,0 @@
|
||||
From f590ced17854c6830cd15b63e757ef5798095cb1 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 30 Jul 2016 23:58:52 +0200
|
||||
Subject: shlwapi/tests: Avoid misleading indentation warnings.
|
||||
|
||||
---
|
||||
dlls/shlwapi/tests/ordinal.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/dlls/shlwapi/tests/ordinal.c b/dlls/shlwapi/tests/ordinal.c
|
||||
index 74cad7d..b26fd4f 100644
|
||||
--- a/dlls/shlwapi/tests/ordinal.c
|
||||
+++ b/dlls/shlwapi/tests/ordinal.c
|
||||
@@ -3225,7 +3225,9 @@ static void test_IUnknown_GetClassID(void)
|
||||
HRESULT hr;
|
||||
|
||||
if (0) /* crashes on native systems */
|
||||
+{
|
||||
hr = pIUnknown_GetClassID(NULL, NULL);
|
||||
+}
|
||||
|
||||
memset(&clsid, 0xcc, sizeof(clsid));
|
||||
memset(&clsid3, 0xcc, sizeof(clsid3));
|
||||
--
|
||||
2.9.0
|
||||
|
@@ -1,57 +0,0 @@
|
||||
From 49be4c98c9f543d23bb3e9f7dfc4c93ddc0a7d68 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 30 Jul 2016 23:59:11 +0200
|
||||
Subject: user32/tests: Avoid misleading indentation warnings.
|
||||
|
||||
---
|
||||
dlls/user32/tests/input.c | 4 +++-
|
||||
dlls/user32/tests/menu.c | 4 ++++
|
||||
2 files changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/user32/tests/input.c b/dlls/user32/tests/input.c
|
||||
index 0d7c6d6..66325e1 100644
|
||||
--- a/dlls/user32/tests/input.c
|
||||
+++ b/dlls/user32/tests/input.c
|
||||
@@ -184,7 +184,7 @@ static int KbdMessage( KEV kev, WPARAM *pwParam, LPARAM *plParam )
|
||||
if( TrackSysKey == VK_MENU || /* <ALT>-down/<ALT>-up sequence */
|
||||
(VKey != VK_MENU)) /* <ALT>-down...<something else>-up */
|
||||
message = WM_SYSKEYUP;
|
||||
- TrackSysKey = 0;
|
||||
+ TrackSysKey = 0; /* FIXME */
|
||||
}
|
||||
InputKeyStateTable[VKey] &= ~0x80;
|
||||
flags |= KF_REPEAT | KF_UP;
|
||||
@@ -1768,7 +1768,9 @@ static void test_keyboard_layout_name(void)
|
||||
char klid[KL_NAMELENGTH];
|
||||
|
||||
if (0) /* crashes on native system */
|
||||
+{
|
||||
ret = GetKeyboardLayoutNameA(NULL);
|
||||
+}
|
||||
|
||||
SetLastError(0xdeadbeef);
|
||||
ret = GetKeyboardLayoutNameW(NULL);
|
||||
diff --git a/dlls/user32/tests/menu.c b/dlls/user32/tests/menu.c
|
||||
index ae7b957..f057613 100644
|
||||
--- a/dlls/user32/tests/menu.c
|
||||
+++ b/dlls/user32/tests/menu.c
|
||||
@@ -3973,12 +3973,16 @@ static void test_AppendMenu(void)
|
||||
ret = InsertMenuItemA(hmenu, 0, TRUE, &mii);
|
||||
ok(ret, "InsertMenuItem failed\n");
|
||||
if (0) /* FIXME: uncomment once Wine is fixed */
|
||||
+{
|
||||
check_menu_items(hmenu, 206, MF_SEPARATOR, MFS_GRAYED);
|
||||
+}
|
||||
mii.wID = 207;
|
||||
ret = SetMenuItemInfoA(hmenu, 0, TRUE, &mii);
|
||||
ok(ret, "SetMenuItemInfo failed\n");
|
||||
if (0) /* FIXME: uncomment once Wine is fixed */
|
||||
+{
|
||||
check_menu_items(hmenu, 207, MF_SEPARATOR, MFS_GRAYED);
|
||||
+}
|
||||
DestroyMenu(hmenu);
|
||||
|
||||
hbmp = CreateBitmap(1, 1, 1, 1, NULL);
|
||||
--
|
||||
2.9.0
|
||||
|
@@ -1,26 +0,0 @@
|
||||
From 74a5d7a75aaae754ad64fd24947ba3f17d92a00a Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 30 Jul 2016 23:59:27 +0200
|
||||
Subject: winhttp/tests: Avoid misleading indentation warnings.
|
||||
|
||||
---
|
||||
dlls/winhttp/tests/winhttp.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/dlls/winhttp/tests/winhttp.c b/dlls/winhttp/tests/winhttp.c
|
||||
index 6be7598..d29457a 100644
|
||||
--- a/dlls/winhttp/tests/winhttp.c
|
||||
+++ b/dlls/winhttp/tests/winhttp.c
|
||||
@@ -3823,7 +3823,9 @@ static void test_IWinHttpRequest_Invoke(void)
|
||||
|
||||
VariantInit(&ret);
|
||||
if (0) /* crashes */
|
||||
+{
|
||||
hr = IWinHttpRequest_Invoke(request, DISPID_HTTPREQUEST_OPTION, &IID_NULL, 0, DISPATCH_PROPERTYPUT, NULL, &ret, NULL, &err);
|
||||
+}
|
||||
|
||||
params.cArgs = 1;
|
||||
hr = IWinHttpRequest_Invoke(request, DISPID_HTTPREQUEST_OPTION, &IID_NULL, 0, DISPATCH_PROPERTYPUT, ¶ms, &ret, NULL, &err);
|
||||
--
|
||||
2.9.0
|
||||
|
@@ -1,26 +0,0 @@
|
||||
From ec626b0fe26ec342091e9db61e78d77acf16f00a Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 30 Jul 2016 23:59:41 +0200
|
||||
Subject: wshom.ocx/tests: Avoid misleading indentation warnings.
|
||||
|
||||
---
|
||||
dlls/wshom.ocx/tests/wshom.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/dlls/wshom.ocx/tests/wshom.c b/dlls/wshom.ocx/tests/wshom.c
|
||||
index a3d398e..5b6ffd0 100644
|
||||
--- a/dlls/wshom.ocx/tests/wshom.c
|
||||
+++ b/dlls/wshom.ocx/tests/wshom.c
|
||||
@@ -214,7 +214,9 @@ static void test_wshshell(void)
|
||||
|
||||
/* current directory */
|
||||
if (0) /* crashes on native */
|
||||
+{
|
||||
hr = IWshShell3_get_CurrentDirectory(sh3, NULL);
|
||||
+}
|
||||
|
||||
str = NULL;
|
||||
hr = IWshShell3_get_CurrentDirectory(sh3, &str);
|
||||
--
|
||||
2.9.0
|
||||
|
@@ -1,85 +0,0 @@
|
||||
From c3170561ea6c0de42ae71925e31e08941e1b96dc Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 31 Jul 2016 00:03:02 +0200
|
||||
Subject: server: Workaround duplicate condition warning of GCC 6.
|
||||
|
||||
---
|
||||
server/request.c | 13 ++++++++++---
|
||||
server/sock.c | 9 ++++++++-
|
||||
2 files changed, 18 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/server/request.c b/server/request.c
|
||||
index 597bf88..483884b 100644
|
||||
--- a/server/request.c
|
||||
+++ b/server/request.c
|
||||
@@ -220,6 +220,13 @@ const void *get_req_data_after_objattr( const struct object_attributes *attr, da
|
||||
return ptr;
|
||||
}
|
||||
|
||||
+static inline int should_retry( int err )
|
||||
+{
|
||||
+ if (err == EWOULDBLOCK) return 1;
|
||||
+ if (err == EAGAIN) return 1;
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
/* write the remaining part of the reply */
|
||||
void write_reply( struct thread *thread )
|
||||
{
|
||||
@@ -241,7 +248,7 @@ void write_reply( struct thread *thread )
|
||||
}
|
||||
if (errno == EPIPE)
|
||||
kill_thread( thread, 0 ); /* normal death */
|
||||
- else if (errno != EWOULDBLOCK && errno != EAGAIN)
|
||||
+ else if (!should_retry( errno ))
|
||||
fatal_protocol_error( thread, "reply write: %s\n", strerror( errno ));
|
||||
}
|
||||
|
||||
@@ -368,7 +375,7 @@ error:
|
||||
kill_thread( thread, 0 );
|
||||
else if (ret > 0)
|
||||
fatal_protocol_error( thread, "partial read %d\n", ret );
|
||||
- else if (errno != EWOULDBLOCK && errno != EAGAIN)
|
||||
+ else if (!should_retry( errno ))
|
||||
fatal_protocol_error( thread, "read: %s\n", strerror( errno ));
|
||||
}
|
||||
|
||||
@@ -449,7 +456,7 @@ int receive_fd( struct process *process )
|
||||
}
|
||||
else
|
||||
{
|
||||
- if (errno != EWOULDBLOCK && errno != EAGAIN)
|
||||
+ if (!should_retry( errno ))
|
||||
{
|
||||
fprintf( stderr, "Protocol error: process %04x: ", process->id );
|
||||
perror( "recvmsg" );
|
||||
diff --git a/server/sock.c b/server/sock.c
|
||||
index dc10d2a..4f76163 100644
|
||||
--- a/server/sock.c
|
||||
+++ b/server/sock.c
|
||||
@@ -1065,6 +1065,13 @@ static void ifchange_wake_up( struct object *obj, unsigned int status )
|
||||
}
|
||||
}
|
||||
|
||||
+static inline int should_retry( int err )
|
||||
+{
|
||||
+ if (err == EWOULDBLOCK) return 1;
|
||||
+ if (err == EAGAIN) return 1;
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
static void ifchange_poll_event( struct fd *fd, int event )
|
||||
{
|
||||
struct object *ifchange = get_fd_user( fd );
|
||||
@@ -1075,7 +1082,7 @@ static void ifchange_poll_event( struct fd *fd, int event )
|
||||
r = recv( get_unix_fd(fd), buffer, sizeof(buffer), MSG_DONTWAIT );
|
||||
if (r < 0)
|
||||
{
|
||||
- if (errno == EWOULDBLOCK || errno == EAGAIN)
|
||||
+ if (should_retry( errno ))
|
||||
return; /* retry when poll() says the socket is ready */
|
||||
status = sock_get_ntstatus( errno );
|
||||
}
|
||||
--
|
||||
2.9.0
|
||||
|
@@ -0,0 +1,277 @@
|
||||
From cb383abcb7d36d739092a93c1f276895622b6806 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sun, 28 Aug 2016 21:56:41 +0200
|
||||
Subject: advapi32: Implement GetExplicitEntriesFromAclW.
|
||||
|
||||
---
|
||||
dlls/advapi32/security.c | 81 ++++++++++++++++++++++-
|
||||
dlls/advapi32/tests/security.c | 142 +++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 221 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
|
||||
index 92a1789..c60aa4e 100644
|
||||
--- a/dlls/advapi32/security.c
|
||||
+++ b/dlls/advapi32/security.c
|
||||
@@ -4202,8 +4202,85 @@ DWORD WINAPI GetExplicitEntriesFromAclA( PACL pacl, PULONG pcCountOfExplicitEntr
|
||||
DWORD WINAPI GetExplicitEntriesFromAclW( PACL pacl, PULONG pcCountOfExplicitEntries,
|
||||
PEXPLICIT_ACCESSW* pListOfExplicitEntries)
|
||||
{
|
||||
- FIXME("%p %p %p\n",pacl, pcCountOfExplicitEntries, pListOfExplicitEntries);
|
||||
- return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
+ ACL_SIZE_INFORMATION sizeinfo;
|
||||
+ EXPLICIT_ACCESSW* entries;
|
||||
+ MAX_SID *sid_entries;
|
||||
+ ACE_HEADER *ace;
|
||||
+ NTSTATUS status;
|
||||
+ int i;
|
||||
+
|
||||
+ FIXME("%p %p %p: semi-stub\n",pacl, pcCountOfExplicitEntries, pListOfExplicitEntries);
|
||||
+
|
||||
+ if (!pcCountOfExplicitEntries || !pListOfExplicitEntries)
|
||||
+ return ERROR_INVALID_PARAMETER;
|
||||
+
|
||||
+ status = RtlQueryInformationAcl(pacl, &sizeinfo, sizeof(sizeinfo), AclSizeInformation);
|
||||
+ if (status) return RtlNtStatusToDosError(status);
|
||||
+
|
||||
+ if (!sizeinfo.AceCount)
|
||||
+ {
|
||||
+ *pcCountOfExplicitEntries = 0;
|
||||
+ *pListOfExplicitEntries = NULL;
|
||||
+ return ERROR_SUCCESS;
|
||||
+ }
|
||||
+
|
||||
+ entries = LocalAlloc(LMEM_FIXED | LMEM_ZEROINIT, (sizeof(EXPLICIT_ACCESSW) + sizeof(MAX_SID)) * sizeinfo.AceCount);
|
||||
+ if (!entries) return ERROR_OUTOFMEMORY;
|
||||
+ sid_entries = (MAX_SID*)((char*)entries + sizeof(EXPLICIT_ACCESSW) * sizeinfo.AceCount);
|
||||
+
|
||||
+ for (i = 0; i < sizeinfo.AceCount; i++)
|
||||
+ {
|
||||
+ status = RtlGetAce(pacl, i, (void**)&ace);
|
||||
+ if (status) goto error;
|
||||
+
|
||||
+ switch (ace->AceType)
|
||||
+ {
|
||||
+ case ACCESS_ALLOWED_ACE_TYPE:
|
||||
+ {
|
||||
+ ACCESS_ALLOWED_ACE *allow = (ACCESS_ALLOWED_ACE *)ace;
|
||||
+ entries[i].grfAccessMode = GRANT_ACCESS;
|
||||
+ entries[i].grfInheritance = ace->AceFlags;
|
||||
+ entries[i].grfAccessPermissions = allow->Mask;
|
||||
+
|
||||
+ CopySid(sizeof(MAX_SID), (PSID)&sid_entries[i], (PSID)&allow->SidStart);
|
||||
+ entries[i].Trustee.pMultipleTrustee = NULL;
|
||||
+ entries[i].Trustee.MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE;
|
||||
+ entries[i].Trustee.TrusteeForm = TRUSTEE_IS_SID;
|
||||
+ entries[i].Trustee.TrusteeType = TRUSTEE_IS_UNKNOWN;
|
||||
+ entries[i].Trustee.ptstrName = (WCHAR *)&sid_entries[i];
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ case ACCESS_DENIED_ACE_TYPE:
|
||||
+ {
|
||||
+ ACCESS_DENIED_ACE *deny = (ACCESS_DENIED_ACE *)ace;
|
||||
+ entries[i].grfAccessMode = DENY_ACCESS;
|
||||
+ entries[i].grfInheritance = ace->AceFlags;
|
||||
+ entries[i].grfAccessPermissions = deny->Mask;
|
||||
+
|
||||
+ CopySid(sizeof(MAX_SID), (PSID)&sid_entries[i], (PSID)&deny->SidStart);
|
||||
+ entries[i].Trustee.pMultipleTrustee = NULL;
|
||||
+ entries[i].Trustee.MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE;
|
||||
+ entries[i].Trustee.TrusteeForm = TRUSTEE_IS_SID;
|
||||
+ entries[i].Trustee.TrusteeType = TRUSTEE_IS_UNKNOWN;
|
||||
+ entries[i].Trustee.ptstrName = (WCHAR *)&sid_entries[i];
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ default:
|
||||
+ FIXME("Unhandled ace type %d\n", ace->AceType);
|
||||
+ entries[i].grfAccessMode = NOT_USED_ACCESS;
|
||||
+ continue;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ *pcCountOfExplicitEntries = sizeinfo.AceCount;
|
||||
+ *pListOfExplicitEntries = entries;
|
||||
+ return ERROR_SUCCESS;
|
||||
+
|
||||
+error:
|
||||
+ LocalFree(entries);
|
||||
+ return RtlNtStatusToDosError(status);
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
|
||||
index cf104ab..2bcb108 100644
|
||||
--- a/dlls/advapi32/tests/security.c
|
||||
+++ b/dlls/advapi32/tests/security.c
|
||||
@@ -133,6 +133,7 @@ static BOOL (WINAPI *pGetWindowsAccountDomainSid)(PSID,PSID,DWORD*);
|
||||
static void (WINAPI *pRtlInitAnsiString)(PANSI_STRING,PCSZ);
|
||||
static NTSTATUS (WINAPI *pRtlFreeUnicodeString)(PUNICODE_STRING);
|
||||
static PSID_IDENTIFIER_AUTHORITY (WINAPI *pGetSidIdentifierAuthority)(PSID);
|
||||
+static DWORD (WINAPI *pGetExplicitEntriesFromAclW)(PACL,PULONG,PEXPLICIT_ACCESSW*);
|
||||
|
||||
static HMODULE hmod;
|
||||
static int myARGC;
|
||||
@@ -227,6 +228,7 @@ static void init(void)
|
||||
pGetAce = (void *)GetProcAddress(hmod, "GetAce");
|
||||
pGetWindowsAccountDomainSid = (void *)GetProcAddress(hmod, "GetWindowsAccountDomainSid");
|
||||
pGetSidIdentifierAuthority = (void *)GetProcAddress(hmod, "GetSidIdentifierAuthority");
|
||||
+ pGetExplicitEntriesFromAclW = (void *)GetProcAddress(hmod, "GetExplicitEntriesFromAclW");
|
||||
|
||||
myARGC = winetest_get_mainargs( &myARGV );
|
||||
}
|
||||
@@ -6378,6 +6380,145 @@ static void test_pseudo_tokens(void)
|
||||
"Expected ERROR_NO_TOKEN, got %u\n", GetLastError());
|
||||
}
|
||||
|
||||
+static void test_GetExplicitEntriesFromAclW(void)
|
||||
+{
|
||||
+ static const WCHAR wszCurrentUser[] = { 'C','U','R','R','E','N','T','_','U','S','E','R','\0'};
|
||||
+ SID_IDENTIFIER_AUTHORITY SIDAuthWorld = { SECURITY_WORLD_SID_AUTHORITY };
|
||||
+ SID_IDENTIFIER_AUTHORITY SIDAuthNT = { SECURITY_NT_AUTHORITY };
|
||||
+ PSID everyone_sid = NULL, users_sid = NULL;
|
||||
+ EXPLICIT_ACCESSW access;
|
||||
+ EXPLICIT_ACCESSW *access2;
|
||||
+ PACL new_acl, old_acl = NULL;
|
||||
+ ULONG count;
|
||||
+ DWORD res;
|
||||
+
|
||||
+ if (!pGetExplicitEntriesFromAclW)
|
||||
+ {
|
||||
+ win_skip("GetExplicitEntriesFromAclW is not available\n");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ if (!pSetEntriesInAclW)
|
||||
+ {
|
||||
+ win_skip("SetEntriesInAclW is not available\n");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ old_acl = HeapAlloc(GetProcessHeap(), 0, 256);
|
||||
+ res = InitializeAcl(old_acl, 256, ACL_REVISION);
|
||||
+ if(!res && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
|
||||
+ {
|
||||
+ win_skip("ACLs not implemented - skipping tests\n");
|
||||
+ HeapFree(GetProcessHeap(), 0, old_acl);
|
||||
+ return;
|
||||
+ }
|
||||
+ ok(res, "InitializeAcl failed with error %d\n", GetLastError());
|
||||
+
|
||||
+ res = AllocateAndInitializeSid(&SIDAuthWorld, 1, SECURITY_WORLD_RID, 0, 0, 0, 0, 0, 0, 0, &everyone_sid);
|
||||
+ ok(res, "AllocateAndInitializeSid failed with error %d\n", GetLastError());
|
||||
+
|
||||
+ res = AllocateAndInitializeSid(&SIDAuthNT, 2, SECURITY_BUILTIN_DOMAIN_RID,
|
||||
+ DOMAIN_ALIAS_RID_USERS, 0, 0, 0, 0, 0, 0, &users_sid);
|
||||
+ ok(res, "AllocateAndInitializeSid failed with error %d\n", GetLastError());
|
||||
+
|
||||
+ res = AddAccessAllowedAce(old_acl, ACL_REVISION, KEY_READ, users_sid);
|
||||
+ ok(res, "AddAccessAllowedAce failed with error %d\n", GetLastError());
|
||||
+
|
||||
+ access2 = NULL;
|
||||
+ res = pGetExplicitEntriesFromAclW(old_acl, &count, &access2);
|
||||
+ ok(res == ERROR_SUCCESS, "GetExplicitEntriesFromAclW failed with error %d\n", GetLastError());
|
||||
+ ok(count == 1, "Expected count == 1, got %d\n", count);
|
||||
+ ok(access2[0].grfAccessMode == GRANT_ACCESS, "Expected GRANT_ACCESS, got %d\n", access2[0].grfAccessMode);
|
||||
+ ok(access2[0].grfAccessPermissions == KEY_READ, "Expected KEY_READ, got %d\n", access2[0].grfAccessPermissions);
|
||||
+ ok(access2[0].Trustee.TrusteeForm == TRUSTEE_IS_SID, "Expected SID trustee, got %d\n", access2[0].Trustee.TrusteeForm);
|
||||
+ ok(access2[0].grfInheritance == NO_INHERITANCE, "Expected NO_INHERITANCE, got %x\n", access2[0].grfInheritance);
|
||||
+ ok(EqualSid(access2[0].Trustee.ptstrName, users_sid), "Expected equal SIDs\n");
|
||||
+ LocalFree(access2);
|
||||
+
|
||||
+ access.Trustee.MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE;
|
||||
+ access.Trustee.pMultipleTrustee = NULL;
|
||||
+
|
||||
+ access.grfAccessPermissions = KEY_WRITE;
|
||||
+ access.grfAccessMode = GRANT_ACCESS;
|
||||
+ access.grfInheritance = NO_INHERITANCE;
|
||||
+ access.Trustee.TrusteeType = TRUSTEE_IS_WELL_KNOWN_GROUP;
|
||||
+ access.Trustee.TrusteeForm = TRUSTEE_IS_SID;
|
||||
+ access.Trustee.ptstrName = everyone_sid;
|
||||
+ res = pSetEntriesInAclW(1, &access, old_acl, &new_acl);
|
||||
+ ok(res == ERROR_SUCCESS, "SetEntriesInAclW failed: %u\n", res);
|
||||
+ ok(new_acl != NULL, "returned acl was NULL\n");
|
||||
+
|
||||
+ access2 = NULL;
|
||||
+ res = pGetExplicitEntriesFromAclW(new_acl, &count, &access2);
|
||||
+ ok(res == ERROR_SUCCESS, "GetExplicitEntriesFromAclW failed with error %d\n", GetLastError());
|
||||
+ ok(count == 2, "Expected count == 2, got %d\n", count);
|
||||
+ ok(access2[0].grfAccessMode == GRANT_ACCESS, "Expected GRANT_ACCESS, got %d\n", access2[0].grfAccessMode);
|
||||
+ ok(access2[0].grfAccessPermissions == KEY_WRITE, "Expected KEY_WRITE, got %d\n", access2[0].grfAccessPermissions);
|
||||
+ ok(access2[0].Trustee.TrusteeType == TRUSTEE_IS_UNKNOWN,
|
||||
+ "Expected TRUSTEE_IS_UNKNOWN trustee type, got %d\n", access2[0].Trustee.TrusteeType);
|
||||
+ ok(access2[0].Trustee.TrusteeForm == TRUSTEE_IS_SID, "Expected SID trustee, got %d\n", access2[0].Trustee.TrusteeForm);
|
||||
+ ok(access2[0].grfInheritance == NO_INHERITANCE, "Expected NO_INHERITANCE, got %x\n", access2[0].grfInheritance);
|
||||
+ ok(EqualSid(access2[0].Trustee.ptstrName, everyone_sid), "Expected equal SIDs\n");
|
||||
+ LocalFree(access2);
|
||||
+ LocalFree(new_acl);
|
||||
+
|
||||
+ access.Trustee.TrusteeType = TRUSTEE_IS_UNKNOWN;
|
||||
+ res = pSetEntriesInAclW(1, &access, old_acl, &new_acl);
|
||||
+ ok(res == ERROR_SUCCESS, "SetEntriesInAclW failed: %u\n", res);
|
||||
+ ok(new_acl != NULL, "returned acl was NULL\n");
|
||||
+
|
||||
+ access2 = NULL;
|
||||
+ res = pGetExplicitEntriesFromAclW(new_acl, &count, &access2);
|
||||
+ ok(res == ERROR_SUCCESS, "GetExplicitEntriesFromAclW failed with error %d\n", GetLastError());
|
||||
+ ok(count == 2, "Expected count == 2, got %d\n", count);
|
||||
+ ok(access2[0].grfAccessMode == GRANT_ACCESS, "Expected GRANT_ACCESS, got %d\n", access2[0].grfAccessMode);
|
||||
+ ok(access2[0].grfAccessPermissions == KEY_WRITE, "Expected KEY_WRITE, got %d\n", access2[0].grfAccessPermissions);
|
||||
+ ok(access2[0].Trustee.TrusteeType == TRUSTEE_IS_UNKNOWN,
|
||||
+ "Expected TRUSTEE_IS_UNKNOWN trustee type, got %d\n", access2[0].Trustee.TrusteeType);
|
||||
+ ok(access2[0].Trustee.TrusteeForm == TRUSTEE_IS_SID, "Expected SID trustee, got %d\n", access2[0].Trustee.TrusteeForm);
|
||||
+ ok(access2[0].grfInheritance == NO_INHERITANCE, "Expected NO_INHERITANCE, got %x\n", access2[0].grfInheritance);
|
||||
+ ok(EqualSid(access2[0].Trustee.ptstrName, everyone_sid), "Expected equal SIDs\n");
|
||||
+ LocalFree(access2);
|
||||
+ LocalFree(new_acl);
|
||||
+
|
||||
+ access.Trustee.TrusteeForm = TRUSTEE_IS_NAME;
|
||||
+ access.Trustee.ptstrName = (LPWSTR)wszCurrentUser;
|
||||
+ res = pSetEntriesInAclW(1, &access, old_acl, &new_acl);
|
||||
+ ok(res == ERROR_SUCCESS, "SetEntriesInAclW failed: %u\n", res);
|
||||
+ ok(new_acl != NULL, "returned acl was NULL\n");
|
||||
+
|
||||
+ access2 = NULL;
|
||||
+ res = pGetExplicitEntriesFromAclW(new_acl, &count, &access2);
|
||||
+ ok(res == ERROR_SUCCESS, "GetExplicitEntriesFromAclW failed with error %d\n", GetLastError());
|
||||
+ ok(count == 2, "Expected count == 2, got %d\n", count);
|
||||
+ ok(access2[0].grfAccessMode == GRANT_ACCESS, "Expected GRANT_ACCESS, got %d\n", access2[0].grfAccessMode);
|
||||
+ ok(access2[0].grfAccessPermissions == KEY_WRITE, "Expected KEY_WRITE, got %d\n", access2[0].grfAccessPermissions);
|
||||
+ ok(access2[0].Trustee.TrusteeType == TRUSTEE_IS_UNKNOWN,
|
||||
+ "Expected TRUSTEE_IS_UNKNOWN trustee type, got %d\n", access2[0].Trustee.TrusteeType);
|
||||
+ ok(access2[0].Trustee.TrusteeForm == TRUSTEE_IS_SID, "Expected SID trustee, got %d\n", access2[0].Trustee.TrusteeForm);
|
||||
+ ok(access2[0].grfInheritance == NO_INHERITANCE, "Expected NO_INHERITANCE, got %x\n", access2[0].grfInheritance);
|
||||
+ LocalFree(access2);
|
||||
+ LocalFree(new_acl);
|
||||
+
|
||||
+ access.grfAccessMode = REVOKE_ACCESS;
|
||||
+ access.Trustee.TrusteeForm = TRUSTEE_IS_SID;
|
||||
+ access.Trustee.ptstrName = users_sid;
|
||||
+ res = pSetEntriesInAclW(1, &access, old_acl, &new_acl);
|
||||
+ ok(res == ERROR_SUCCESS, "SetEntriesInAclW failed: %u\n", res);
|
||||
+ ok(new_acl != NULL, "returned acl was NULL\n");
|
||||
+
|
||||
+ access2 = (void *)0xdeadbeef;
|
||||
+ res = pGetExplicitEntriesFromAclW(new_acl, &count, &access2);
|
||||
+ ok(res == ERROR_SUCCESS, "GetExplicitEntriesFromAclW failed with error %d\n", GetLastError());
|
||||
+ ok(count == 0, "Expected count == 0, got %d\n", count);
|
||||
+ ok(access2 == NULL, "access2 was not NULL\n");
|
||||
+ LocalFree(new_acl);
|
||||
+
|
||||
+ FreeSid(users_sid);
|
||||
+ FreeSid(everyone_sid);
|
||||
+ HeapFree(GetProcessHeap(), 0, old_acl);
|
||||
+}
|
||||
+
|
||||
START_TEST(security)
|
||||
{
|
||||
init();
|
||||
@@ -6424,4 +6565,5 @@ START_TEST(security)
|
||||
test_system_security_access();
|
||||
test_GetSidIdentifierAuthority();
|
||||
test_pseudo_tokens();
|
||||
+ test_GetExplicitEntriesFromAclW();
|
||||
}
|
||||
--
|
||||
2.9.0
|
||||
|
1
patches/advapi32-GetExplicitEntriesFromAclW/definition
Normal file
1
patches/advapi32-GetExplicitEntriesFromAclW/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: Implement semi-stub for advapi32.GetExplicitEntriesFromAclW
|
@@ -1,4 +1,4 @@
|
||||
From cee15830660362c97d886ab9cc4e9a535b65491a Mon Sep 17 00:00:00 2001
|
||||
From 8467721c604c1ed81f31b6675b143e98321b368b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Fri, 15 Jan 2016 13:01:15 +0100
|
||||
Subject: kernelbase: Add dll and add stub for QuirkIsEnabled.
|
||||
@@ -22,7 +22,7 @@ index b9caed0..2beb34b 100644
|
||||
+C_SRCS = \
|
||||
+ misc.c
|
||||
diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec
|
||||
index 53ed586..8fdb80d 100644
|
||||
index f104030..8e62b4a 100644
|
||||
--- a/dlls/kernelbase/kernelbase.spec
|
||||
+++ b/dlls/kernelbase/kernelbase.spec
|
||||
@@ -1,3 +1,6 @@
|
||||
@@ -224,7 +224,7 @@ index 53ed586..8fdb80d 100644
|
||||
+@ stub CreateProcessInternalW
|
||||
+@ stdcall CreateProcessW(wstr wstr ptr ptr long long ptr wstr ptr ptr) kernel32.CreateProcessW
|
||||
@ stdcall CreateRemoteThread(long ptr long ptr long long ptr) kernel32.CreateRemoteThread
|
||||
@ stub CreateRemoteThreadEx
|
||||
@ stdcall CreateRemoteThreadEx(long ptr long ptr long long ptr ptr) kernel32.CreateRemoteThreadEx
|
||||
@ stdcall CreateRestrictedToken(long long long ptr long ptr long ptr ptr) advapi32.CreateRestrictedToken
|
||||
@ stdcall CreateSemaphoreExW(ptr long long wstr long long) kernel32.CreateSemaphoreExW
|
||||
+@ stdcall CreateSemaphoreW(ptr long long wstr) kernel32.CreateSemaphoreW
|
||||
@@ -250,7 +250,7 @@ index 53ed586..8fdb80d 100644
|
||||
@ stdcall DebugBreak() kernel32.DebugBreak
|
||||
@ stdcall DecodePointer(ptr) kernel32.DecodePointer
|
||||
+@ stub DecodeRemotePointer
|
||||
@ stub DecodeSystemPointer
|
||||
@ stdcall DecodeSystemPointer(ptr) kernel32.DecodeSystemPointer
|
||||
@ stdcall DefineDosDeviceW(long wstr wstr) kernel32.DefineDosDeviceW
|
||||
+@ stdcall DelayLoadFailureHook(str str) kernel32.DelayLoadFailureHook
|
||||
+@ stub DelayLoadFailureHookLookup
|
||||
@@ -260,7 +260,7 @@ index 53ed586..8fdb80d 100644
|
||||
+@ stdcall DeleteFiber(ptr) kernel32.DeleteFiber
|
||||
@ stdcall DeleteFileA(str) kernel32.DeleteFileA
|
||||
@ stdcall DeleteFileW(wstr) kernel32.DeleteFileW
|
||||
@ stub DeleteProcThreadAttributeList
|
||||
@ stdcall DeleteProcThreadAttributeList(ptr) kernel32.DeleteProcThreadAttributeList
|
||||
+@ stub DeleteStateAtomValue
|
||||
+@ stub DeleteStateContainer
|
||||
+@ stub DeleteStateContainerValue
|
||||
@@ -294,7 +294,7 @@ index 53ed586..8fdb80d 100644
|
||||
+@ stub EmptyWorkingSet
|
||||
@ stdcall EncodePointer(ptr) kernel32.EncodePointer
|
||||
+@ stub EncodeRemotePointer
|
||||
@ stub EncodeSystemPointer
|
||||
@ stdcall EncodeSystemPointer(ptr) kernel32.EncodeSystemPointer
|
||||
+@ stub EnterCriticalPolicySectionInternal
|
||||
@ stdcall EnterCriticalSection(ptr) kernel32.EnterCriticalSection
|
||||
+@ stub EnterSynchronizationBarrier
|
||||
@@ -533,7 +533,7 @@ index 53ed586..8fdb80d 100644
|
||||
+@ stub GetHivePath
|
||||
+@ stub GetIntegratedDisplaySize
|
||||
@ stdcall GetKernelObjectSecurity(long long ptr long ptr) advapi32.GetKernelObjectSecurity
|
||||
+@ stub GetLargePageMinimum
|
||||
+@ stdcall GetLargePageMinimum() kernel32.GetLargePageMinimum
|
||||
+@ stdcall GetLargestConsoleWindowSize(long) kernel32.GetLargestConsoleWindowSize
|
||||
@ stdcall GetLastError() kernel32.GetLastError
|
||||
@ stdcall GetLengthSid(ptr) advapi32.GetLengthSid
|
||||
@@ -567,7 +567,7 @@ index 53ed586..8fdb80d 100644
|
||||
+@ stub GetNextFgPolicyRefreshInfoInternal
|
||||
+@ stdcall GetNumaHighestNodeNumber(ptr) kernel32.GetNumaHighestNodeNumber
|
||||
+@ stub GetNumaNodeProcessorMaskEx
|
||||
@ stub GetNumberFormatEx
|
||||
@ stdcall GetNumberFormatEx(wstr long wstr ptr ptr long) kernel32.GetNumberFormatEx
|
||||
@ stdcall GetNumberFormatW(long long wstr ptr ptr long) kernel32.GetNumberFormatW
|
||||
+@ stdcall GetNumberOfConsoleInputEvents(long ptr) kernel32.GetNumberOfConsoleInputEvents
|
||||
@ stdcall GetOEMCP() kernel32.GetOEMCP
|
||||
@@ -782,7 +782,7 @@ index 53ed586..8fdb80d 100644
|
||||
@ stdcall InitializeCriticalSection(ptr) kernel32.InitializeCriticalSection
|
||||
@ stdcall InitializeCriticalSectionAndSpinCount(ptr long) kernel32.InitializeCriticalSectionAndSpinCount
|
||||
@ stdcall InitializeCriticalSectionEx(ptr long long) kernel32.InitializeCriticalSectionEx
|
||||
@ stub InitializeProcThreadAttributeList
|
||||
@ stdcall InitializeProcThreadAttributeList(ptr long long ptr) kernel32.InitializeProcThreadAttributeList
|
||||
+@ stub InitializeProcessForWsWatch
|
||||
@ stdcall InitializeSListHead(ptr) kernel32.InitializeSListHead
|
||||
@ stdcall InitializeSRWLock(ptr) kernel32.InitializeSRWLock
|
||||
@@ -1379,7 +1379,7 @@ index 53ed586..8fdb80d 100644
|
||||
@ stdcall SetCriticalSectionSpinCount(ptr long) kernel32.SetCriticalSectionSpinCount
|
||||
@ stdcall SetCurrentDirectoryA(str) kernel32.SetCurrentDirectoryA
|
||||
@ stdcall SetCurrentDirectoryW(wstr) kernel32.SetCurrentDirectoryW
|
||||
@ stub SetDefaultDllDirectories
|
||||
@ stdcall SetDefaultDllDirectories(long) kernel32.SetDefaultDllDirectories
|
||||
+@ stub SetDynamicTimeZoneInformation
|
||||
@ stdcall SetEndOfFile(long) kernel32.SetEndOfFile
|
||||
@ stub SetEnvironmentStringsW
|
||||
@@ -1577,7 +1577,7 @@ index 53ed586..8fdb80d 100644
|
||||
+@ stub UnsubscribeStateChangeNotification
|
||||
+@ stub UpdatePackageStatus
|
||||
+@ stub UpdatePackageStatusForUser
|
||||
@ stub UpdateProcThreadAttribute
|
||||
@ stdcall UpdateProcThreadAttribute(ptr long long ptr long ptr ptr) kernel32.UpdateProcThreadAttribute
|
||||
+@ stdcall UrlApplySchemeA(str ptr ptr long) shlwapi.UrlApplySchemeA
|
||||
+@ stdcall UrlApplySchemeW(wstr ptr ptr long) shlwapi.UrlApplySchemeW
|
||||
+@ stdcall UrlCanonicalizeA(str ptr ptr long) shlwapi.UrlCanonicalizeA
|
||||
@@ -1770,17 +1770,17 @@ index 6b6ead2..7c2a9d1 100644
|
||||
422 stdcall -noname SHGlobalCounterCreateNamedA(str long)
|
||||
423 stdcall -noname SHGlobalCounterCreateNamedW(wstr long)
|
||||
diff --git a/tools/make_specfiles b/tools/make_specfiles
|
||||
index 774687e..7c097c4 100755
|
||||
index f3b5c5e..8a7e514 100755
|
||||
--- a/tools/make_specfiles
|
||||
+++ b/tools/make_specfiles
|
||||
@@ -232,6 +232,7 @@ my @dll_groups =
|
||||
@@ -230,6 +230,7 @@ my @dll_groups =
|
||||
[
|
||||
"kernel32",
|
||||
"advapi32",
|
||||
+ "shlwapi",
|
||||
"user32",
|
||||
"kernelbase",
|
||||
],
|
||||
"api-ms-win-core-bem-l1-1-0",
|
||||
--
|
||||
2.7.1
|
||||
2.9.0
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 2f51e46724cd93eedfa9024dc3f88bfdd2eb3172 Mon Sep 17 00:00:00 2001
|
||||
From 88298227180510b5eee8b129ae964f14bf565d64 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Fri, 15 Jan 2016 13:07:09 +0100
|
||||
Subject: api-ms-win-core-quirks-l1-1-0: Add dll.
|
||||
@@ -13,17 +13,17 @@ Subject: api-ms-win-core-quirks-l1-1-0: Add dll.
|
||||
create mode 100644 dlls/api-ms-win-core-quirks-l1-1-0/api-ms-win-core-quirks-l1-1-0.spec
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 7374b74..1cf8036 100644
|
||||
index e97cd17..6d51b3f 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2729,6 +2729,7 @@ WINE_CONFIG_DLL(api-ms-win-core-processthreads-l1-1-1)
|
||||
@@ -2717,6 +2717,7 @@ WINE_CONFIG_DLL(api-ms-win-core-processthreads-l1-1-1)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-processthreads-l1-1-2)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-profile-l1-1-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-psapi-l1-1-0)
|
||||
+WINE_CONFIG_DLL(api-ms-win-core-quirks-l1-1-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-realtime-l1-1-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-registry-l1-1-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-rtlsupport-l1-1-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-rtlsupport-l1-2-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-registryuserspecific-l1-1-0)
|
||||
diff --git a/dlls/api-ms-win-core-quirks-l1-1-0/Makefile.in b/dlls/api-ms-win-core-quirks-l1-1-0/Makefile.in
|
||||
new file mode 100644
|
||||
index 0000000..9486e8b
|
||||
@@ -46,11 +46,11 @@ index 0000000..54ce373
|
||||
+@ stub QuirkIsEnabledForPackage2
|
||||
+@ stub QuirkIsEnabledForProcess
|
||||
diff --git a/tools/make_specfiles b/tools/make_specfiles
|
||||
index 572c0b8..e62c2cd 100755
|
||||
index 8a7e514..3316f76 100755
|
||||
--- a/tools/make_specfiles
|
||||
+++ b/tools/make_specfiles
|
||||
@@ -225,6 +225,10 @@ my @dll_groups =
|
||||
"kernelbase",
|
||||
@@ -236,6 +236,10 @@ my @dll_groups =
|
||||
"api-ms-win-core-bem-l1-1-0",
|
||||
],
|
||||
[
|
||||
+ "kernelbase",
|
||||
@@ -61,5 +61,5 @@ index 572c0b8..e62c2cd 100755
|
||||
"api-ms-win-downlevel-ole32-l1-1-0",
|
||||
"api-ms-win-core-com-l1-1-0",
|
||||
--
|
||||
2.6.4
|
||||
2.9.0
|
||||
|
||||
|
@@ -1,90 +0,0 @@
|
||||
From fa095669c3bad1091523c6133c6a12541555dfbd Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Fri, 15 Jan 2016 13:37:26 +0100
|
||||
Subject: api-ms-win-appmodel-runtime-l1-1-1: Add new dll.
|
||||
|
||||
---
|
||||
configure.ac | 1 +
|
||||
.../api-ms-win-appmodel-runtime-l1-1-1/Makefile.in | 1 +
|
||||
.../api-ms-win-appmodel-runtime-l1-1-1.spec | 36 ++++++++++++++++++++++
|
||||
tools/make_specfiles | 1 +
|
||||
4 files changed, 39 insertions(+)
|
||||
create mode 100644 dlls/api-ms-win-appmodel-runtime-l1-1-1/Makefile.in
|
||||
create mode 100644 dlls/api-ms-win-appmodel-runtime-l1-1-1/api-ms-win-appmodel-runtime-l1-1-1.spec
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 1ebf17a..2d2108b 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2623,6 +2623,7 @@ WINE_CONFIG_DLL(advpack,,[implib])
|
||||
WINE_CONFIG_TEST(dlls/advpack/tests)
|
||||
WINE_CONFIG_DLL(amstream,,[clean])
|
||||
WINE_CONFIG_TEST(dlls/amstream/tests)
|
||||
+WINE_CONFIG_DLL(api-ms-win-appmodel-runtime-l1-1-1)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-com-l1-1-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-com-l1-1-1)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-console-l1-1-0)
|
||||
diff --git a/dlls/api-ms-win-appmodel-runtime-l1-1-1/Makefile.in b/dlls/api-ms-win-appmodel-runtime-l1-1-1/Makefile.in
|
||||
new file mode 100644
|
||||
index 0000000..289d96f
|
||||
--- /dev/null
|
||||
+++ b/dlls/api-ms-win-appmodel-runtime-l1-1-1/Makefile.in
|
||||
@@ -0,0 +1 @@
|
||||
+MODULE = api-ms-win-appmodel-runtime-l1-1-1.dll
|
||||
diff --git a/dlls/api-ms-win-appmodel-runtime-l1-1-1/api-ms-win-appmodel-runtime-l1-1-1.spec b/dlls/api-ms-win-appmodel-runtime-l1-1-1/api-ms-win-appmodel-runtime-l1-1-1.spec
|
||||
new file mode 100644
|
||||
index 0000000..2e5fbf1
|
||||
--- /dev/null
|
||||
+++ b/dlls/api-ms-win-appmodel-runtime-l1-1-1/api-ms-win-appmodel-runtime-l1-1-1.spec
|
||||
@@ -0,0 +1,36 @@
|
||||
+@ stub ClosePackageInfo
|
||||
+@ stub FindPackagesByPackageFamily
|
||||
+@ stub FormatApplicationUserModelId
|
||||
+@ stub GetApplicationUserModelId
|
||||
+@ stub GetApplicationUserModelIdFromToken
|
||||
+@ stub GetCurrentApplicationUserModelId
|
||||
+@ stdcall GetCurrentPackageFamilyName(ptr ptr) kernel32.GetCurrentPackageFamilyName
|
||||
+@ stub GetCurrentPackageFullName
|
||||
+@ stdcall GetCurrentPackageId(ptr ptr) kernel32.GetCurrentPackageId
|
||||
+@ stub GetCurrentPackageInfo
|
||||
+@ stub GetCurrentPackagePath
|
||||
+@ stub GetPackageApplicationIds
|
||||
+@ stub GetPackageFamilyName
|
||||
+@ stub GetPackageFamilyNameFromToken
|
||||
+@ stub GetPackageFullName
|
||||
+@ stub GetPackageFullNameFromToken
|
||||
+@ stub GetPackageId
|
||||
+@ stub GetPackageInfo
|
||||
+@ stub GetPackagePath
|
||||
+@ stub GetPackagePathByFullName
|
||||
+@ stub GetPackagesByPackageFamily
|
||||
+@ stub GetStagedPackageOrigin
|
||||
+@ stub GetStagedPackagePathByFullName
|
||||
+@ stub OpenPackageInfoByFullName
|
||||
+@ stub OpenPackageInfoByFullNameForUser
|
||||
+@ stub PackageFamilyNameFromFullName
|
||||
+@ stub PackageFamilyNameFromId
|
||||
+@ stub PackageFullNameFromId
|
||||
+@ stub PackageIdFromFullName
|
||||
+@ stub PackageNameAndPublisherIdFromFamilyName
|
||||
+@ stub ParseApplicationUserModelId
|
||||
+@ stub VerifyApplicationUserModelId
|
||||
+@ stub VerifyPackageFamilyName
|
||||
+@ stub VerifyPackageFullName
|
||||
+@ stub VerifyPackageId
|
||||
+@ stub VerifyPackageRelativeApplicationId
|
||||
diff --git a/tools/make_specfiles b/tools/make_specfiles
|
||||
index 05010cc..d2158d8 100755
|
||||
--- a/tools/make_specfiles
|
||||
+++ b/tools/make_specfiles
|
||||
@@ -161,6 +161,7 @@ my @dll_groups =
|
||||
],
|
||||
[
|
||||
"kernel32",
|
||||
+ "api-ms-win-appmodel-runtime-l1-1-1",
|
||||
"api-ms-win-downlevel-normaliz-l1-1-0",
|
||||
"api-ms-win-core-processthreads-l1-1-0",
|
||||
"api-ms-win-core-debug-l1-1-0",
|
||||
--
|
||||
2.6.4
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user