Compare commits

..

87 Commits

Author SHA1 Message Date
Sebastian Lackner
a78a108cbd Release 1.9.21. 2016-10-16 18:33:26 +02:00
Sebastian Lackner
99e7c1d29a Added patch to ignore queued xaudio2 AL buffers after Stop. 2016-10-16 17:01:08 +02:00
Sebastian Lackner
97e7c4ffaa Added patch for initial implementation of GIF encoder in windowscodecs. 2016-10-16 16:01:02 +02:00
Sebastian Lackner
36d0a71019 Added patch to recognize GTX 560M card with NVIDIA driver. 2016-10-16 15:36:30 +02:00
Sebastian Lackner
15a0c7553d ntoskrnl-METHOD_OUT_DIRECT: Update patchset. 2016-10-16 15:28:18 +02:00
Sebastian Lackner
54cc9a694c server-File_Permissions: Improve STATUS_CANNOT_DELETE checks for directory case. 2016-10-16 06:22:08 +02:00
Sebastian Lackner
8521ab33ad server-Stored_ACLs: Fix some bugs related to mapping of MAXIMUM_ALLOWED. 2016-10-16 02:25:44 +02:00
Sebastian Lackner
dd324a1b34 Added patch to implement support for SetFileCompletionNotificationModes. 2016-10-15 19:59:16 +02:00
Sebastian Lackner
f176092a54 windowscodecs-Palette_Images: Update patches and add missing registration of new pixel formats. 2016-10-15 17:58:17 +02:00
Sebastian Lackner
f8de4c44e7 Added patch to avoid duplicate definition of PEVENT_FILTER_DESCRIPTOR. 2016-10-15 17:36:00 +02:00
Sebastian Lackner
9f39422b15 Added patches to implement support for METHOD_OUT_DIRECT ioctls. 2016-10-15 07:00:23 +02:00
Sebastian Lackner
07c920f32d Added patch to revert changes to offset the pixel center in the ARB_clip_control case. 2016-10-15 05:55:42 +02:00
Sebastian Lackner
dd53426bfd Rebase against eb5339edaca1c09d76b4afa32bdb07c1549e6650.
[api-ms-win-Stub_DLLs]
Removed some stub dlls (accepted upstream).

[wmic-Query_Path]
Removed patch to improve cmd line parser and add support for path command
(accepted upstream).
2016-10-15 03:52:39 +02:00
Sebastian Lackner
70bc9a4e63 Rebase against 7ce384c4153112201aa263da6dee15fed21a4e06. 2016-10-14 23:49:07 +02:00
Sebastian Lackner
0f6b6615d9 Rebase against 86b5ec3fd1fb8c42f7e79b29647c59cd698aa236. 2016-10-13 21:48:43 +02:00
Sebastian Lackner
f7c96c2f6f Rebase against 28cfa306b467abb026da1f9442bc247c4c9dc790. 2016-10-11 01:15:10 +02:00
Sebastian Lackner
6dd07ec3e7 vulkan-Vulkan_Implementation: Update to spec version 1.0.30 (no VK_EXT_debug_marker support yet). 2016-10-10 00:00:35 +02:00
Sebastian Lackner
3fe8a52e3c vulkan-Vulkan_Implementation: Enumerate VK_KHR_win32_surface only once in vkEnumerateInstanceExtensionProperties. 2016-10-09 21:28:43 +02:00
Sebastian Lackner
84612d7ffd windowscodecs-Palette_Images: Add some more tests and fixes for loading PNG images in various color formats. 2016-10-09 20:11:46 +02:00
Sebastian Lackner
92510a34ed setupapi-SetupPromptForDisk: Added patch to determine path to system32 directory at runtime. 2016-10-09 19:13:25 +02:00
Sebastian Lackner
2b8aff1781 Rebase against 1dedd90e8c56ff61772915d575a43ad6c95813cd.
[rpcrt4-Pipe_Transport]
Removed patch to restore original error code when ReadFile fails with
ERROR_MORE_DATA (fixed upstream).
2016-10-09 19:11:52 +02:00
Sebastian Lackner
2c7ec3747f Rebase against eac56fbda547e21cf9f40d57c913b3b582fc5697. 2016-10-09 08:48:57 +02:00
Sebastian Lackner
8bfc3ca97f Rebase against 7756d6ba9b0213d5533eb5248e62716e7e8409b8.
[dmusic-SynthPort_IKsControl]
Removed patch to add IKsControl stub subinterface for SynthPort (accepted upstream).
2016-10-09 03:07:13 +02:00
Sebastian Lackner
2d5e42b68c Rebase against 5d96ef42a58e09a2d6cf47a685abb3f42b513ceb. 2016-10-08 22:07:10 +02:00
Sebastian Lackner
d33a3327ea Rebase against 6372cd8e49a662942a80d2decd1f7eae3541c45b. 2016-10-08 21:10:41 +02:00
Sebastian Lackner
7397ac1394 Release 1.9.20. 2016-10-02 20:41:04 +02:00
Sebastian Lackner
6b626b3f42 Added patch to create HardwareId registry key for display devices. 2016-10-02 18:08:25 +02:00
Sebastian Lackner
ec7eae9400 Rebase against 8a92dd9a5720c4b6b334e4f13629c0b0f5a72e94. 2016-10-01 21:04:43 +02:00
Sebastian Lackner
1a199958e7 Rebase against af37b187ad86191110b80bef814d25ce3ac350db. 2016-09-28 18:04:14 +02:00
Sebastian Lackner
2bf9187a19 Added patch to improve palette support in windowscodecs.dll. 2016-09-28 17:55:15 +02:00
Sebastian Lackner
b3eb9ef535 Rebase against f669dc69cdcaf08aa197c98f68a1dfb4f8a265b1. 2016-09-28 03:28:26 +02:00
Sebastian Lackner
78c9cb74ff Rebase against c76c7d85d0be45edf72e63ae7eae51c018383070. 2016-09-27 18:14:12 +02:00
Sebastian Lackner
b52328c75a Rebase against 61e6e8baa01dd44fa46744a8bc2b226474ce487a. 2016-09-23 19:12:11 +02:00
Sebastian Lackner
00fbf6afc8 Rebase against 1513c706341a6c04ddfa8b1998a346d343fc4983.
[ntdll-RtlSetCurrentDirectory_U]
Removed patch to open current working directory with FILE_TRAVERSE access
(accepted upstream).

[server-Win32_Prefix]
Removed patch to allow to create win23 prefix when directory already exists
(accepted upstream).
2016-09-22 21:27:27 +02:00
Sebastian Lackner
1281216a26 Rebase against 6fd36314d051ceff8dbb0f2d442f57983e0bcd65.
[dsound-DSCAPS_CERTIFIED]
Removed patch to pretend that the dsound driver is certified (accepted upstream).

[hid-HidP_TranslateUsagesToI8042ScanCodes]
Removed patch to stub HidP_TranslateUsagesToI8042ScanCodes (accepted upstream).
2016-09-21 21:11:23 +02:00
Sebastian Lackner
dd166155b5 Added patch to fix initial texture upload for 1D/3D textures. 2016-09-21 01:23:13 +02:00
Sebastian Lackner
8112d76673 Rebase against e6e8ed47e6d6d245e4bbda13691eb714cf95a675. 2016-09-21 00:23:02 +02:00
Sebastian Lackner
ee44570fb0 Rebase against 5a9f7ef06df15e26acf46b0210dd7697356da7ac. 2016-09-20 21:33:38 +02:00
Sebastian Lackner
3b127e5f51 Release 1.9.19. 2016-09-19 01:30:09 +02:00
Sebastian Lackner
1e2b0d3e0c Added patch to implement support for SP_COPY_IN_USE_NEEDS_REBOOT in do_file_copyW. 2016-09-18 23:11:45 +02:00
Sebastian Lackner
a358f0984b Added patch to implement CIF reader and download functionality in inseng.dll. 2016-09-18 22:48:10 +02:00
Sebastian Lackner
c08a9ab0d6 Added patch to allow to create win23 prefix when directory already exists. 2016-09-18 20:39:19 +02:00
Sebastian Lackner
4483c9737e Added patch to open current working directory with FILE_TRAVERSE access. 2016-09-18 20:22:06 +02:00
Sebastian Lackner
522961364f Rebase against e2ebc0dc23f0fa04ea79cefc9e3d2faf189a6bf7.
[windowscodecs-32bppGrayFloat]
Partially removed patches to implement support for WICPixelFormat32bppGrayFloat
(accepted upstream).

[windowscodecs-copypixels_to_24bppRGB]
Removed patch to avoid extra conversion step BGR->RGB when converting 32bpp
BGRA to 24bpp RGB (accepted upstream).
2016-09-17 16:06:46 +02:00
Sebastian Lackner
f8b5d1530a Rebase against 1938d389b293930c5ac2f2970c6241e09517cf49.
[gdiplus-GdipCreateMetafileFromStream]
Removed remaining patches to implement GdipGetMetafileHeaderFrom* functions
(accepted upstream).
2016-09-16 07:58:16 +02:00
Sebastian Lackner
75760561c3 Rebase against 4931e6f92bc7e0c229a057ebf2e000f8f5aa1edd. 2016-09-15 06:22:42 +02:00
Sebastian Lackner
79af70fad1 Rebase against 4e9cc305bb1a758eb70419318c7c41c2918fc180. 2016-09-13 23:52:10 +02:00
Sebastian Lackner
3bb2024464 Rebase against c1bc25dd38dab0504bd9eb45641a830ff08488b3.
[gdiplus-GdipCreateMetafileFromStream]
Removed patches to implement GdipCreateMetafileFromStream and
GdipGetMetafileHeaderFromMetafile (accepted upstream).
2016-09-12 23:39:35 +02:00
Sebastian Lackner
2ad4a084dd Added patch to silence a noisy FIXME message in msvcrt.pf_printf. 2016-09-10 18:56:18 +02:00
Sebastian Lackner
4465c82831 Rebase against 4bfefc5c7132023ee40d70572b677ae0e441df38. 2016-09-10 08:27:16 +02:00
Sebastian Lackner
141b05e4ff Rebase against 01581bfc48161c3c55027334b1ecb9e909873a6b. 2016-09-09 22:59:00 +02:00
Sebastian Lackner
50a0e530a8 Rebase against 7c06f1c218a2ecb1f2dda2cfb97b3a2c5b7f01e8. 2016-09-09 19:48:49 +02:00
Sebastian Lackner
b3a71a8918 Rebase against f53c320f04114253955b509da294ef454864679d. 2016-09-07 17:58:48 +02:00
Sebastian Lackner
82a0709ef2 Release 1.9.18. 2016-09-05 16:09:42 +02:00
Sebastian Lackner
bf90df4eed Added hack for WINED3DFMT_R24_UNORM_X8_TYPELESS format. 2016-09-04 21:23:54 +02:00
Sebastian Lackner
e2e200361f Added patch to implement IWICPalette::InitializeFromBitmap and corresponding gdiplus functions. 2016-09-04 21:12:21 +02:00
Sebastian Lackner
ad962f7d64 Rebase against 7baaab5b53011c3a593e1ff32538c9ca706db212.
FIXME: Use CS resource map/unmap mechanism instead of separate opcodes.
2016-09-03 21:19:17 +02:00
Sebastian Lackner
d28e0d12bb Rebase against 225c43b8124aaeb4c2e307379ab98036db1a38b3. 2016-09-01 19:55:33 +02:00
Sebastian Lackner
938ffad317 Rebase against 23a64ca074021bfda46f6287aaa529d6e8f66774. 2016-08-31 21:51:53 +02:00
Sebastian Lackner
6b3228a788 Added patch to avoid extra conversion step BGR->RGB when converting 32bpp BGRA to 24bpp RGB. 2016-08-31 17:54:00 +02:00
Michael MĂĽller
6b709dc505 Added patch for d3d11 1d textures. 2016-08-31 17:42:50 +02:00
Sebastian Lackner
8ca9f08b92 Rebase against 002af352fac43d170aad216bf15098b27555539a. 2016-08-30 20:44:42 +02:00
Sebastian Lackner
39c7e02819 Rebase against d3cb5c24a5ebbc7dcfb181a56f0f55cf3d1a1c30. 2016-08-29 18:29:37 +02:00
Sebastian Lackner
398d920e3a Added patch to implement semi-stub for d3d11_device_CheckFormatSupport. 2016-08-29 03:14:37 +02:00
Sebastian Lackner
5a40e8f8b3 Added patch to add WINED3DFMT_R32G32_{U,S}INT as render target format. 2016-08-29 03:06:03 +02:00
Sebastian Lackner
d4fa026231 Added patch to implement semi-stub for advapi32.GetExplicitEntriesFromAclW. 2016-08-29 03:05:30 +02:00
Sebastian Lackner
43a640f8fd Rebase against 30cdd1fb8cea410cb9e363b16278528669e2c19a. 2016-08-28 20:22:44 +02:00
Sebastian Lackner
deb73bfa7c Rebase against 839995d5e9afcbcdcd084eac3a8e6e48a2173eda. 2016-08-25 23:43:12 +02:00
Sebastian Lackner
f2fd04974f Rebase against a875e3c6ab075c0603e7bf1430abdba704640602. 2016-08-25 23:20:12 +02:00
Sebastian Lackner
9961dd76da Rebase against 94845c400e2d09c96854e756075a0004c17776bb. 2016-08-24 09:30:16 +02:00
Sebastian Lackner
d86ab36369 Rebase against 90173ce448e5afe55627c2cbece28fb4f6bae99d.
[ntdll-ThreadpoolCleanupGroup]
Removed patches to fix multiple bugs related to threadpool cleanup groups and
cancel callbacks (accepted upstream).
2016-08-24 09:29:31 +02:00
Sebastian Lackner
034992d90e Release 1.9.17. 2016-08-22 00:17:29 +02:00
Sebastian Lackner
5b67aa1fc3 Added patch to check input format in MPEG3_StreamOpen. 2016-08-21 03:40:47 +02:00
Sebastian Lackner
d3cebda659 Added patch to fill out DeviceInfoData in SetupDiGetDeviceInterfaceDetail even if interface buffer is too small. 2016-08-20 23:26:28 +02:00
Sebastian Lackner
f438f86e52 Added patches to fix multiple bugs related to threadpool cleanup groups and cancel callbacks. 2016-08-20 22:51:09 +02:00
Sebastian Lackner
17396cec6d kernel32-UmsStubs: Synchronize spec files. 2016-08-20 15:47:51 +02:00
Sebastian Lackner
c4d19a5e32 Rebase against a83d5d3b83042d2305de0595c0d03e4e7bf1e29e. 2016-08-20 14:40:39 +02:00
Sebastian Lackner
fbe5fa909a wined3d-CSMT_Main: Added patch to avoid calling SetEvent when worker thread is fast enough. 2016-08-19 17:14:36 +02:00
Sebastian Lackner
a8ed1e17c2 Rebase against 60f8b516e2a6233eaee8ae58cd2eccce998dd81f.
[ntdll-x86_64_Builtin_Frames]
Temporarily disable patchset to improve handling of builtin frames for x86_64
when switching stack. This needs additional work to be compatible with the
recent collided unwind upstream changes.
2016-08-19 17:12:13 +02:00
Sebastian Lackner
38d1d5a2fe Rebase against 51021faaef8312c35e9772873ad588c194c5c709. 2016-08-16 23:13:29 +02:00
Sebastian Lackner
4a42867417 Rebase against c90e46b66ded518dbfb88f1efdc366e7986defb4. 2016-08-15 20:39:38 +02:00
Sebastian Lackner
436e1adc84 Rebase against d6d0d96402b9c187877f11da173f8fbbf62ba072. 2016-08-13 05:24:18 +02:00
Sebastian Lackner
c46fab6261 Rebase against dca0e38d82c737cd8aeab63e08cf1990d05d9671.
FIXME: Merge buffer/texture preload commands.
2016-08-12 18:06:33 +02:00
Sebastian Lackner
e875860886 patchinstall.sh: Add support for eapply backend and mark epatch as deprecated (thanks NP-Hardass). 2016-08-11 06:07:13 +02:00
Sebastian Lackner
a6c6b83eb7 Rebase against 882980c17a9a033fa8e49a4c116af9583698d218. 2016-08-10 22:22:18 +02:00
Sebastian Lackner
b727968b45 Rebase against ba858c28fd489a812ea0f55a11680a8edaf99ce5. 2016-08-09 20:42:49 +02:00
Sebastian Lackner
929a758ef4 Rebase against 84b3218ed6ad5975f537481edf2f61fb26bedb8b. 2016-08-08 21:43:18 +02:00
325 changed files with 18328 additions and 5492 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -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, &params, &ret, NULL, &err);
--
2.9.0

View File

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

View File

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

View File

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

View File

@@ -0,0 +1 @@
Fixes: Implement semi-stub for advapi32.GetExplicitEntriesFromAclW

View File

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

View File

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

View File

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