Compare commits

...

239 Commits
v3.19 ... v4.7

Author SHA1 Message Date
Alistair Leslie-Hughes
547e7c81fb Release v4.7 2019-04-27 12:56:43 +10:00
Zebediah Figura
99d6f16c4e ntdll-SystemExtendedProcessInformation: Restore mistakenly deleted patchset. 2019-04-26 20:35:04 -05:00
Zebediah Figura
2e99ff1d6e Rebase against 6e3f39a4c59fd529c7b532dcde1bb8c37c467b35. 2019-04-26 16:21:57 -05:00
Alistair Leslie-Hughes
a9282e6425 Added gdi32-D3DKMTQueryStatistics patchset 2019-04-26 13:36:39 +10:00
Alistair Leslie-Hughes
63eedc8289 Updated ntdll-Junction_Points patchset 2019-04-26 10:01:46 +10:00
Alistair Leslie-Hughes
fea87f9a23 Rebase against 85826158947637f790b68742a5448c483f47234f 2019-04-26 09:42:11 +10:00
Alistair Leslie-Hughes
f883c66e40 Updated server-Desktop_Refcount patchset 2019-04-25 18:07:55 +10:00
Zebediah Figura
d8568c947a eventfd_synchronization: Handle directory change notification objects. 2019-04-24 23:57:07 -05:00
Zebediah Figura
f61fe9f16b Rebase against 9b6d198a3c7c8a02aa69c0d3d11829712e9778a6. 2019-04-24 23:57:07 -05:00
Alistair Leslie-Hughes
4969e2759b Updated ntdll-Junction_Points patchset 2019-04-24 11:20:07 +10:00
Alistair Leslie-Hughes
4423ea716e Removed kernel32-CreateSymbolicLink patchset.
The updated ntdll-Junction_Points has replace this patchset.

Thanks for testing Gijs Vermeulen.
2019-04-24 10:24:20 +10:00
Alistair Leslie-Hughes
38c1f5e4d5 Rebase against 75aa4ab16b03a11464ab0d3e4c4cfbff0180c269 2019-04-24 10:09:47 +10:00
Alistair Leslie-Hughes
4e7071e4f1 Updated server-Desktop_Refcount patchset 2019-04-23 16:02:50 +10:00
Alistair Leslie-Hughes
a0708adf42 Updated ntdll-Junction_Points patchset
Changed dependencies to allow ntdll-Junction_Points to be applied
on top of wine.
2019-04-23 11:08:07 +10:00
Alistair Leslie-Hughes
9e53a45319 Added winex11.drv-Query_server_position patchset 2019-04-23 10:40:25 +10:00
Alistair Leslie-Hughes
7cc69d7707 Added winex11.drv-mouse-coorrds patchset 2019-04-23 10:09:57 +10:00
Alistair Leslie-Hughes
39738f05d6 Added windowscodecs-png-network patchset 2019-04-23 10:03:55 +10:00
Alistair Leslie-Hughes
477e9faba2 Rebase against 9d75caf4e1deea0ec8d5ad3f829e7218bc1e3c16 2019-04-23 09:44:01 +10:00
Alistair Leslie-Hughes
6f1e25e1c0 Rebase against 9d7d68747b06a03893df99c4beea36b762508603 2019-04-20 18:45:05 +10:00
Alistair Leslie-Hughes
36e84f2951 Updated ntdll-Junction_Points patchset 2019-04-16 11:14:52 +10:00
Alistair Leslie-Hughes
bfd8af12aa Rebase against f9301c2b66450a1cdd986e9052fcaa76535ba8b7 2019-04-16 09:30:17 +10:00
Alistair Leslie-Hughes
cbb09031a6 Added combase-GetRestrictedErrorInfo patchset 2019-04-15 09:24:55 +10:00
Alistair Leslie-Hughes
3f8edce509 Release v4.6 2019-04-14 11:52:32 +10:00
Zebediah Figura
56174c3307 ntdll-SystemModuleInformation: Add more patches for League of Legends. 2019-04-13 00:02:13 -05:00
Zebediah Figura
a36ea2ace3 Rebase against fabde842ede40fc53cf6f5743d5b477841f7b11c. 2019-04-12 19:34:16 -05:00
Alistair Leslie-Hughes
8f56ffcf57 Rebase against 0cb79db12ac7c48477518dcff269ccc5d6b745e0 2019-04-12 09:17:34 +10:00
Alistair Leslie-Hughes
d0190e3ade Added dinput-wheel-support patchset 2019-04-11 11:43:11 +10:00
Alistair Leslie-Hughes
72a13348de Rebase against 0652a2ccc967c6d1ca04c67f58112ff491ab9a62 2019-04-11 08:48:06 +10:00
Alistair Leslie-Hughes
a8556b9c25 Rebase against 5ed7a61de7e72ecf4cf6ef76d4044f32640b93cb 2019-04-10 09:43:50 +10:00
Zebediah Figura
52a77f6b00 Rebase against 18883a76762afab3e18e1279a9666240e19d4d03. 2019-04-08 17:01:18 -05:00
Zebediah Figura
be0910e9a9 eventfd_synchronization: Add some more dependencies. 2019-04-08 17:00:58 -05:00
Zebediah Figura
270b403c6d ntdll-SystemExtendedProcessInformation: Add patch set. 2019-04-06 21:34:50 -05:00
Zebediah Figura
4ea094eddb d3dx9-32bpp_Alpha_Channel: Restore mistakenly deleted patch.
Only the tests were upstreamed, and they do not pass without this patch.
2019-04-05 18:47:57 -05:00
Zebediah Figura
0e7183639d Rebase against 8ee1e3453e2e714241bcaac0cd75f4af3f828c8d. 2019-04-05 18:43:06 -05:00
Alistair Leslie-Hughes
ac1bb98de4 Updated wintab32-improvements patchset 2019-04-05 14:41:32 +11:00
Alistair Leslie-Hughes
bfdd49203c Added ddraw-Texture_Wrong_Caps patchset 2019-04-05 09:21:16 +11:00
Alistair Leslie-Hughes
1773e25340 Rebase against 17056908acae1d5c7cf5d255ec232210abfe86da 2019-04-05 09:20:03 +11:00
Zebediah Figura
553986fdfb eventfd_synchronization: Add patch set. 2019-04-03 21:40:49 -05:00
Zebediah Figura
8ce5fe8929 Rebase against 8268c47462544baf5bc7e5071c0a9f2d00c5c2cb. 2019-04-03 17:22:20 -05:00
Alistair Leslie-Hughes
8b930aea2f Added kernel32-ReplaceFileW patchset 2019-04-03 17:06:51 +11:00
Alistair Leslie-Hughes
e20fec1c52 Updated wintab32-improvements patchset.
Dropped winex11: Use active owner when sending messages due to regressions.
2019-04-03 16:54:11 +11:00
Alistair Leslie-Hughes
6f3a3b40aa Updated ddraw-Write_Vtable patchset 2019-04-03 11:16:23 +11:00
Alistair Leslie-Hughes
1184d64c71 Rebase against 33c35baa6761b00c8cef236c06cb1655f3f228d9 2019-04-03 09:11:34 +11:00
Alistair Leslie-Hughes
e2c7fb5bb6 Rebase against 56404595d5c42168d4fd4c1ec3a1b802a6aab5c1 2019-04-02 10:10:17 +11:00
Alistair Leslie-Hughes
85ba5095c8 Updated httpapi-HttpCreateServerSession patchset 2019-04-01 10:51:23 +11:00
Alistair Leslie-Hughes
cf0a72b3aa Release v4.5 2019-03-30 16:02:54 +11:00
Alistair Leslie-Hughes
f7bee23139 Rebase against c6ff0e01224e86c7baa31d019fcb0a7bf03e2f96 2019-03-30 16:02:03 +11:00
Alistair Leslie-Hughes
7ba10a3ef2 Rebase against cad72d3cd7a40e2c1f70d19b988e19da62710bf8 2019-03-29 11:49:30 +11:00
Alistair Leslie-Hughes
8f51d290fd Updated ddraw-Rendering_Targets patchset 2019-03-29 08:14:12 +11:00
Alistair Leslie-Hughes
271835fcdd Rebase against 0e8401076679f337655e72fa1726f05fcd89e069 2019-03-28 13:07:06 +11:00
Alistair Leslie-Hughes
a02caca06d Rebase against 829170f3d6b875f7a6f065072cc3334a20ff805e 2019-03-27 11:22:31 +11:00
Alistair Leslie-Hughes
0d4d90ee80 Rebase against c7f323107b3b956d206d8d0ee28851d60f19841c 2019-03-26 13:55:44 +11:00
Alistair Leslie-Hughes
d963a250c9 Rebase against c988910caeebfd1415ad4d036964a67078493e46 2019-03-23 10:56:04 +11:00
Alistair Leslie-Hughes
d82dea3b21 Updated ddraw-version-check patchset 2019-03-22 18:17:08 +11:00
Alistair Leslie-Hughes
055e049821 Updated wined3d-Indexed_Vertex_Blending and wined3d-SWVP-shaders patchset
Thanks Paul Gofman.
2019-03-20 11:02:25 +11:00
Alistair Leslie-Hughes
5ffc00de0a Rebase against 42683dd159385ed2f83fa6d9a8b73ed8b64e04e2 2019-03-20 10:58:11 +11:00
Alistair Leslie-Hughes
8e6af31b99 Rebase against 3e61c7127ed7eb764a8b308fd8897cbc26a93a4a 2019-03-19 09:04:20 +11:00
Alistair Leslie-Hughes
18e878bc40 Updated opencl-version_1_2 patchset. 2019-03-18 13:24:09 +11:00
Alistair Leslie-Hughes
4c19e3f8e1 Updated dinput-remap-joystick patchset 2019-03-18 10:03:40 +11:00
Alistair Leslie-Hughes
b6787bc221 Release v4.4 2019-03-17 17:12:16 +11:00
Zebediah Figura
6c37563f92 Rebase against 05994cd6179626438ef26c13ee45323a6a1f66eb. 2019-03-15 15:57:45 -05:00
Alistair Leslie-Hughes
65e6bb8111 Rebase against fa262317480e52eb3420c4e0ba9bae9e17db4457 2019-03-15 11:44:38 +11:00
Alistair Leslie-Hughes
3d9797093d Added opencl-version_1_2 patchset 2019-03-15 09:51:33 +11:00
Alistair Leslie-Hughes
993b6c9c83 Rebase against f34f13825fd060fda40f0a5b02dc1b420e3a8e1e 2019-03-13 09:54:01 +11:00
Alistair Leslie-Hughes
d866f07818 Added pdh-PdhLookupPerfNameByIndex-processor patchset 2019-03-12 09:19:32 +11:00
Alistair Leslie-Hughes
3d08d08fda Rebase against 5baadda536172d6713fa6fef1196dc2baa773904 2019-03-12 09:07:36 +11:00
Zebediah Figura
01adefa75c Rebase against ab7756619c1b16c761618a68d1b6a06ad437cbe8. 2019-03-07 17:53:33 -06:00
Zebediah Figura
6260ab9bce wined3d-SWVP-shaders, wined3d-Indexed_Vertex_Blending: Updates from Paul Gofman.
Should fix https://bugs.winehq.org/show_bug.cgi?id=46790.
2019-03-07 17:30:08 -06:00
Zebediah Figura
3a1bf0a033 Rebase against 56f34c7489cb463981e987a59aee9f8780fef7cd. 2019-03-06 22:07:08 -06:00
Alistair Leslie-Hughes
06fbe73760 Updated wined3d-SWVP-shaders, wined3d-Indexed_Vertex_Blending patchsets 2019-03-05 09:53:07 +11:00
Alistair Leslie-Hughes
c043d43772 Updated d3dx9_36-DrawText patchset
Thanks github user IIde pointing this out.
2019-03-05 09:18:36 +11:00
Alistair Leslie-Hughes
d3067e60ff Rebase against 6d35c10a7b7155dd552a3ad1a266d205e38f8765 2019-03-05 09:11:28 +11:00
Alistair Leslie-Hughes
923434cd32 Release v4.3 2019-03-03 16:51:57 +11:00
Alistair Leslie-Hughes
f419a53698 Added xaudio2-revert patchset 2019-03-03 16:46:30 +11:00
Zebediah Figura
5e8beb5ff2 Rebase against 1e8f4c059befe4a026ddf5c56e81d720b35c6c2f. 2019-02-28 22:32:39 -06:00
Alistair Leslie-Hughes
37de066533 Revert "Added msasn1-ASN1_CreateModule patchset"
This reverts commit 06ad40cfd0.

It come to out attention that FreeRDP may not be a clean source
for this patch.
2019-03-01 08:08:25 +11:00
Alistair Leslie-Hughes
e108b600b5 Added comctrl-rebar-capture patchset 2019-02-28 16:28:45 +11:00
Alistair Leslie-Hughes
06ad40cfd0 Added msasn1-ASN1_CreateModule patchset 2019-02-28 16:28:39 +11:00
Alistair Leslie-Hughes
bd8f790f9b Added dinput-axis-recalc patchset 2019-02-28 16:22:05 +11:00
Alistair Leslie-Hughes
4a23a62b5d Added dinput-reconnect-joystick patchset 2019-02-28 15:30:07 +11:00
Alistair Leslie-Hughes
e6cfe1ccd8 Added dinput-remap-joystick patchset 2019-02-28 15:30:07 +11:00
Zebediah Figura
b50c875c39 setupapi-Display_Device: Correct rebase. 2019-02-27 21:01:33 -06:00
Zebediah Figura
b02bd9c446 wined3d-SWVP-shaders, wined3d-Indexed_Vertex_Blending: Add new patch sets from Paul Gofman. 2019-02-27 20:27:16 -06:00
Alistair Leslie-Hughes
7c1618b197 Rebase against 474a6771ba03e2c475cd088ff40c97e8285a455f 2019-02-27 12:51:15 +11:00
Alistair Leslie-Hughes
733fa5c485 Rebase against f784cabd3489b20c13afd80fddbbcf5aa1b656b3 2019-02-26 08:54:19 +11:00
Zebediah Figura
b74293fbfe Rebase against b3c5b7da9442af840431cd7f795da20989aad42a. 2019-02-22 22:45:29 -06:00
Alistair Leslie-Hughes
38aa047cad Rebase against 812d03129dea53337367789bac8ab523b9fce21d 2019-02-22 08:51:56 +11:00
Alistair Leslie-Hughes
778998c66e Rebase against c0cc126d579e078f2804112c14f0c18b38f68937 2019-02-21 13:49:36 +11:00
Zebediah Figura
d12fcebb0e ntoskrnl.exe-Resources: Add patch set. 2019-02-19 19:03:35 -06:00
Zebediah Figura
7937739028 ntdll-MemoryWorkingSetExInformation: Add patch. 2019-02-19 18:48:47 -06:00
Zebediah Figura
13b580a0c8 Rebase against 0c738d900a8daccf2c5460972033766d34d59aed. 2019-02-19 18:36:59 -06:00
Alistair Leslie-Hughes
b3c99ebf4b Rebase against 5e86cc0a8f37295072b03b1c13aa205ff3e6f3e4 2019-02-19 11:35:04 +11:00
Alistair Leslie-Hughes
87578b4c82 Updated httpapi-HttpCreateServerSession patchset
Thanks Gijs Vermeulen.
2019-02-19 08:30:45 +11:00
Alistair Leslie-Hughes
be81b6245c Added wmvcore-WMCreateSyncReader patchset 2019-02-18 13:58:09 +11:00
Alistair Leslie-Hughes
b1b1abafe7 Release v4.2 2019-02-17 15:44:00 +11:00
Zebediah Figura
0b57832a15 ddraw-version-check: Correct author. 2019-02-16 13:39:46 -06:00
Zebediah Figura
b080509a3b actually add the patches 2019-02-16 08:36:04 -06:00
Zebediah Figura
4d363d04f9 Add ddraw-version-check and gdi32-rotation. 2019-02-15 19:34:50 -06:00
Alistair Leslie-Hughes
7cbbfd0a9e Rebase against 3fc1180623b9a0c9fc9e16abf358b179f2eff49b 2019-02-15 11:18:02 +11:00
Alistair Leslie-Hughes
27ff0169ed Updated uxtheme-GTK_Theming patch 2019-02-15 08:39:48 +11:00
Alistair Leslie-Hughes
32bac8b64c Rebase against 7907ccfdcb39b30dc49c96c411332534525b6ea9 2019-02-14 11:08:02 +11:00
Alistair Leslie-Hughes
b8de62375f Rebase against 9781b5433cd4b708c0f537aa0b5608ff4157f04c 2019-02-13 11:01:29 +11:00
Alistair Leslie-Hughes
697fe8b5da Rebase against d0727decdedb5aba250038458e0a28dec5687e50 2019-02-12 10:01:26 +11:00
Zebediah Figura
c6aeba1397 ntdll-DllRedirects: Remove patch set.
This patch has caused a disproportionate amount of annoyance during
rebases, and this is only likely to increase. On top of this it is not
an especially good way to structure things; switching between
interfaces is something best done within one DLL.
2019-02-09 17:15:09 -06:00
Zebediah Figura
3d74da6622 uxtheme-GTK_Theming: Rework to avoid "DLL redirects".
Instead we have an alternate code path for the appropriate API entry
points in uxtheme.dll.

This is not the best organizational structure. We should probably have
HTHEME handles resolve to an object with its own function table, so
then we have an MSSTYLES backend and a GTK backend and what have
you. It would also be better to avoid having GTK controlled with its
own registry key like this but rather to have it be selectable using
EnumThemes()/ApplyTheme() [presumably through a fake theme file, as
was used in the original implementation], so that we don't have to
have special handling for those functions and everything can just be
part of the HTHEME backend. However, time is currently of the essence,
and this will have to do for the moment.
2019-02-09 17:15:09 -06:00
Zebediah Figura
ecc4fe6d6a Rebase against f7b3120991df02ecaa975c18c6421fedb48ae731. 2019-02-08 21:57:06 -06:00
Zebediah Figura
35f9449641 ntdll-Purist_Mode: Remove patch set.
This is redundant and not especially useful.
2019-02-08 21:37:09 -06:00
Zebediah Figura
f605d79997 ntdll-DllOverrides_WOW64: Remove patchset.
This was always a no-op; HKCU/Software does not reflect.
2019-02-08 21:35:26 -06:00
Alistair Leslie-Hughes
ab89820aa5 Added secur32-compile-fix 2019-02-08 11:08:27 +11:00
Alistair Leslie-Hughes
f85accadd5 Rebase against 957a1f0216995c14c3a3fe737358578a506af707 2019-02-08 10:49:30 +11:00
Alistair Leslie-Hughes
533cbe994f Updated bcrypt-BCryptGenerateKeyPair patchset
Fixes FreeBSD build and --without-gnutls option.
2019-02-08 08:31:23 +11:00
Alistair Leslie-Hughes
9f5a34bcb8 Updated uxtheme-GTK_Theming patchset
Fixes
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46587
2019-02-07 14:45:37 +11:00
Zebediah Figura
ca3bfa28f9 Rebase against c3ac646a8ded3ef3ebc743a7fdda01b0691a427a. 2019-02-06 19:44:16 -06:00
Alistair Leslie-Hughes
3dab9e5e6b Rebase against 6b76648a8b773838ecde00719ca54a433edf5ce6 2019-02-06 14:27:30 +11:00
Alistair Leslie-Hughes
1edb7d5bc5 Updated bcrypt-BCryptGenerateKeyPair patchset
Fix for Debian 8.0 and xUbuntu_16.04.
2019-02-06 07:16:21 +11:00
Alistair Leslie-Hughes
0f48c0caac Updated bcrypt-BCryptGenerateKeyPair patchset
This is to fix the macos build.
2019-02-05 13:46:27 +11:00
Alistair Leslie-Hughes
785d3c2244 Release v4.1 2019-02-05 11:19:37 +11:00
Alistair Leslie-Hughes
fd3b0a7361 Updated kernel32-CreateSymbolicLink patchset 2019-02-05 11:06:09 +11:00
Alistair Leslie-Hughes
d25f4cf2e2 Added bcrypt-BCryptSecretAgreement patchset 2019-02-05 10:34:01 +11:00
Alistair Leslie-Hughes
7a2d7b751d Updated bcrypt-BCryptGenerateKeyPair patchset 2019-02-05 10:25:02 +11:00
Alistair Leslie-Hughes
4f5ec5595c Rebase against 152cda38df79cf04aae589f1d721de3cac1cd49e 2019-02-05 09:32:59 +11:00
Alistair Leslie-Hughes
75e683d877 Rebase against 84459ba94b9de2fc32499154aa4591f10d746947 2019-02-01 08:21:25 +11:00
Alistair Leslie-Hughes
4839b31cec Rebase against 7003ba44892d39ec0f409c793b97a0c5f4ae72d0 2019-01-31 11:39:09 +11:00
Alistair Leslie-Hughes
46fc7a5a0d Added kernel32-CreateSymbolicLink patchset 2019-01-30 16:39:10 +11:00
Alistair Leslie-Hughes
6df93d0242 Added httpapi-HttpCreateServerSession patchset 2019-01-30 16:34:25 +11:00
Zebediah Figura
fc1eb83a27 crypt32-old_libgnutls: Add patch. 2019-01-29 18:33:33 -06:00
Zebediah Figura
53de6620d0 Rebase against 78a8445a2a4a6f225386a8a9781e961d2c5517a4. 2019-01-29 18:30:45 -06:00
Alistair Leslie-Hughes
d2a48f1ad3 Added urlmon-ftp_escape patchset 2019-01-29 11:03:45 +11:00
Alistair Leslie-Hughes
1c5f409745 Rebase against ca29ac4650f7f9a96cfaa75a7919ef007306cbbb 2019-01-29 11:02:57 +11:00
Zebediah Figura
60f0f50382 Rebase against 699eb8cdba8fe236f038550e2bd68a4cd2cab055. 2019-01-25 18:42:27 -06:00
Zebediah Figura
ceb31ed876 newupdate.py: Tweaks. 2019-01-25 18:39:37 -06:00
Alistair Leslie-Hughes
3b56f9ccef Added wined3d-stream-frequency patchset 2019-01-25 16:05:43 +11:00
Alistair Leslie-Hughes
8a60fbdd19 Added wined3d-multisample-quality patchset 2019-01-25 16:05:09 +11:00
Alistair Leslie-Hughes
6fbde84214 Added d3dx9_36-D3DXSHProjectCubeMap patchset 2019-01-25 16:04:25 +11:00
Alistair Leslie-Hughes
3a0fddb73c Added mciavi32-fullscreen_support patchset 2019-01-25 15:55:40 +11:00
Alistair Leslie-Hughes
5e5c754a8b Added iphlpapi-GetBestRoute2 patchset 2019-01-25 15:53:45 +11:00
Zebediah Figura
04c8f24337 Rebase against fee112f90accd80805e9b499b9f8917661f76cba. 2019-01-24 21:06:01 -06:00
Alistair Leslie-Hughes
b39ac4692c Rebase against f5d7d9cccc941024f1532a9ac23427d07810f337 2019-01-24 11:34:38 +11:00
Alistair Leslie-Hughes
6cfd7b70ba Release v4.0 2019-01-23 10:25:22 +11:00
Alistair Leslie-Hughes
8de9c65504 Release 4.0rc7 2019-01-19 14:17:04 +11:00
Alistair Leslie-Hughes
f04ae5b1da Updated msvcp140-_Equivalent patchset
Thanks Gijs
2019-01-18 13:25:08 +11:00
Alistair Leslie-Hughes
0501c71fce Added msvcp140-_Equivalent patchset 2019-01-18 11:10:08 +11:00
Alistair Leslie-Hughes
690a18a601 Merge pull request #68 from JL2210/use-env-python2
Use /usr/bin/env python2 instead of /usr/bin/python2
2019-01-18 05:36:30 +10:00
James Larrowe
eb09d462e2 Use /usr/bin/env python2 instead of /usr/bin/python2
Signed-off-by: James Larrowe <larrowe.semaj11@gmail.com>
2019-01-16 19:20:30 -05:00
Alistair Leslie-Hughes
3161e5be34 Rebase against 0b3e7115de6749262296518d659247168a202f5f 2019-01-17 10:05:02 +11:00
Alistair Leslie-Hughes
17083b95bb Rebase against a15d4de557ac2ba3b2418cb39fc6080a7523e604 2019-01-16 10:05:38 +11:00
Alistair Leslie-Hughes
50f0724f43 Added vssapi-CreateVssBackupComponents patchset 2019-01-15 10:58:04 +11:00
Alistair Leslie-Hughes
54f9a82de8 Added oleaut32-VarRound patchset 2019-01-15 08:40:24 +11:00
Alistair Leslie-Hughes
fe96596a19 Release v4.0-rc6 2019-01-13 10:46:08 +11:00
Alistair Leslie-Hughes
929bc28ac8 Updated user32-msgbox-Support-WM_COPY-mesg patchset 2019-01-11 09:28:10 +11:00
Alistair Leslie-Hughes
a7ad40c135 Rebase against 807e5fc04af7a7ea563af1e7da6ebe6662536e6b 2019-01-10 11:08:38 +11:00
Alistair Leslie-Hughes
4d4e02e26b Release v4.0-rc5 2019-01-05 18:15:30 +11:00
Alistair Leslie-Hughes
40821d91e2 Rebase against 40c5184a90a6e14f3e49dd60daaba636308b7f83 2019-01-04 10:09:38 +11:00
Alistair Leslie-Hughes
9256515a12 Rebase against dc80a0032927421d61b95659af570c21439e4a76 2019-01-03 09:38:03 +11:00
Alistair Leslie-Hughes
ae1f954ed1 Release 4.0-rc4 2018-12-29 15:45:37 +11:00
Alistair Leslie-Hughes
ccad76f64a Rebase against 2058505cebc7bb069e1e2d0d738353336e943b7b 2018-12-28 19:56:47 +11:00
Alistair Leslie-Hughes
b1066c7064 Release 4.0-rc3 2018-12-22 14:09:01 +11:00
Alistair Leslie-Hughes
b636153ec4 Added mf-MFCreateSequencerSource patchset 2018-12-21 08:56:45 +11:00
Alistair Leslie-Hughes
f8064b4dbe Rebase against f6896e062d30d6d5d6d94a34e3a622c83aa9d3f1 2018-12-21 08:16:38 +11:00
Zebediah Figura
b7a4aade29 user32-minimized_windows: Add patch set. 2018-12-20 12:40:39 -06:00
Alistair Leslie-Hughes
9e8d000f35 Rebase against 5a8e430b96ab429a85f82f26ba9d2de4729954c2 2018-12-18 11:02:25 +11:00
Alistair Leslie-Hughes
42b756066b Added winex11-ime-check-thread-data patchset 2018-12-18 08:44:19 +11:00
Alistair Leslie-Hughes
ee381d1ad0 Added imm32-message_on_focus patchset 2018-12-18 08:37:38 +11:00
Alistair Leslie-Hughes
9a858d4f4c Added wined3d-WINED3D_TEXF_ANISOTROPIC patchset 2018-12-17 16:26:32 +11:00
Alistair Leslie-Hughes
3878c8eb1b Updated uianimation-stubs patchset 2018-12-17 16:10:10 +11:00
Alistair Leslie-Hughes
5020088406 Added mfplat-MFGetSystemTime patchset 2018-12-17 11:36:45 +11:00
Alistair Leslie-Hughes
c119ae9eeb Release v4.0rc2 2018-12-16 13:15:30 +11:00
Zebediah Figura
476caa4a5f ucrtbase-_o_: Add patch set. 2018-12-15 10:15:17 -06:00
Zebediah Figura
9982d2e0ee dwmapi-DwmGetTransportAttributes: Add patch set. 2018-12-15 10:10:07 -06:00
Zebediah Figura
2b2bf8ac06 user32-dialog_focus: Update patch. 2018-12-15 09:49:32 -06:00
Zebediah Figura
088524a29e newupdate.py: Fix path. 2018-12-15 09:46:36 -06:00
Zebediah Figura
31d525e567 newupdate.py: Also regenerate patchinstall.sh. 2018-12-13 19:03:58 -06:00
Zebediah Figura
7d26828643 krnl386.exe16-_lclose16: Remove.
This was fixed by 414c73feabb6d33be969f3927f8b3e8a8075bcd4.
2018-12-13 18:58:44 -06:00
Alistair Leslie-Hughes
3dc3c4e0e2 Updated winex11-key_translation patchset
Fixed Russian layout.
2018-12-13 08:41:49 +11:00
Alistair Leslie-Hughes
154875b4e9 Remove dinput-map_dik_codes patchset
This was pointed out this patchset isn't required.
The right approach is the correctly map the keyboard correctly
eg. winex11-key_translation patchset
2018-12-13 08:37:37 +11:00
Alistair Leslie-Hughes
66148cb9b2 Updated wintab32-improvements patchset 2018-12-11 13:43:44 +11:00
Alistair Leslie-Hughes
cfbf5f7b86 Added winex11-key_translation patchset 2018-12-11 13:43:44 +11:00
Alistair Leslie-Hughes
6f1b2ab35a Added dinput-map_dik_codes patchset 2018-12-11 13:43:44 +11:00
Zebediah Figura
550e67b8a2 Rebase against 76bc23d8c6c1b2857cb7a4d14c5931094a12a82a. 2018-12-10 19:53:30 -06:00
Zebediah Figura
e45211698d wow64cpu-Wow64Transition: Load wow64cpu.dll after kernel32.dll.
Fixes bug 46251.
2018-12-10 19:48:41 -06:00
Alistair Leslie-Hughes
6be0dfd008 Release 4.0-rc1 2018-12-08 16:35:46 +11:00
Zebediah Figura
0121326c5a user32-dialog_focus: Add patchset. 2018-12-07 19:59:29 -06:00
Zebediah Figura
4912f27424 Rebase against ae5e029d2227b3a8024f597591f76fe0f37d52e3. 2018-12-07 19:39:19 -06:00
Alistair Leslie-Hughes
7a69c317fc Rebase against 5cc5b102c1b0a66aa63b66f43f2da9a1a9d15ab6 2018-12-07 12:34:46 +11:00
Alistair Leslie-Hughes
c9b23fb803 Rebase against cda846b8cbc39c07ce360a6660a1c8b2e2aca24b 2018-12-06 09:17:51 +11:00
Alistair Leslie-Hughes
c214f34a3d Rebase against e9231beb865da13941d19eca016a6ccac07cb3f4. (try 2) 2018-12-05 13:45:00 +11:00
Zebediah Figura
08623c69c9 Rebase against e9231beb865da13941d19eca016a6ccac07cb3f4. 2018-12-04 20:17:06 -06:00
Alistair Leslie-Hughes
6fb7d85916 Rebase against 0cc6233e2077c1ef679ecb8bd815d31484868294 2018-12-04 09:08:05 +11:00
Alistair Leslie-Hughes
178c0f6d74 Added shell32-IconCache patchset 2018-12-03 09:00:11 +11:00
Alistair Leslie-Hughes
735aa272dc Updated ddraw-Rendering_Targets patchset 2018-12-03 08:44:13 +11:00
Alistair Leslie-Hughes
ce62e30ee2 Rebase against 400dd1596ab7946e68278b3f8dc7c87b898c7e9f try 2 2018-12-01 16:47:16 +11:00
Zebediah Figura
f828952b4b Rebase against 400dd1596ab7946e68278b3f8dc7c87b898c7e9f. 2018-11-30 20:00:04 -06:00
Alistair Leslie-Hughes
4e9b9940d2 Rebease against 20e5920135476cc4e380823a694537fca7fdf7e1 2018-11-30 08:57:39 +11:00
Alistair Leslie-Hughes
3fe5e9d97b Rebase against 1582ae6b045bb1658f6d5bc83efc5f6ce042c06e 2018-11-29 08:49:50 +11:00
Alistair Leslie-Hughes
d792ec8a45 Updated winepulse-PulseAudio_Support patchset 2018-11-28 09:20:45 +11:00
Alistair Leslie-Hughes
c30bad1531 Rebase against 00b08fad99745db326ef060627c3e9dc668a734a 2018-11-28 09:19:40 +11:00
Zebediah Figura
7d49250016 dwrite-FontFallback: Restore.
By request from Nikolay Sivov.
2018-11-26 19:23:08 -06:00
Zebediah Figura
52ea1ee7af qwave-QOSCreateHandle: Update spec file. 2018-11-26 19:13:16 -06:00
Zebediah Figura
bfff924f04 Rebase against 92f38bc8790cbfb31badf97a211ed890ac00c1db. 2018-11-26 18:45:43 -06:00
Zebediah Figura
c45c01449e staging: New rebase script.
Got tired of finding bugs in the old one and being completely confused by its code, so here is a new one.
It doesn't have a fancy progress bar, but at least it actually tells you what patches break.
2018-11-26 18:43:09 -06:00
Alistair Leslie-Hughes
e6e67f2aab Release v3.21 2018-11-25 18:23:27 +11:00
Zebediah Figura
0a0998b398 Rebase against ea9253d6d3c9bb60d98b0d917292fc0b4babb3dd. 2018-11-23 20:56:43 -06:00
Alistair Leslie-Hughes
d373c19f75 Added qwave-QOSCreateHandle patchset 2018-11-23 11:56:07 +11:00
Alistair Leslie-Hughes
e871a1020b Rebase against 0c5ce58505e24bf07cbd4c09752ef2f949d64fd0 2018-11-23 11:53:30 +11:00
Alistair Leslie-Hughes
a56cf4623e Updated ntdll-RtlAddGrowableFunctionTable patchset 2018-11-22 14:33:16 +11:00
Alistair Leslie-Hughes
fc28dc3e4c Updated bcrypt-BCryptGenerateKeyPair patchset 2018-11-22 12:15:42 +11:00
Alistair Leslie-Hughes
ff24c240c5 Updated kernel32-Processor_Group patchset 2018-11-22 12:15:42 +11:00
Alistair Leslie-Hughes
c6466b849b Updated advapi32-RegLoadAppKey patchset 2018-11-22 12:15:42 +11:00
Alistair Leslie-Hughes
ad768e05ba Updated bcrypt-BCryptDeriveKeyPBKDF2 patchset 2018-11-22 12:15:42 +11:00
Alistair Leslie-Hughes
c90f89fe90 Updated user32-GetPointerType patchset 2018-11-22 12:15:41 +11:00
Alistair Leslie-Hughes
2fdb980d1a Rebase against 55bcfea8f011c7f31df81a0f05f11a1d5c0d11b1 2018-11-22 10:23:20 +11:00
Alistair Leslie-Hughes
bd5aed0c57 Rebase against 488432317206bc816432af0dd740e18979e37e58 2018-11-21 09:16:20 +11:00
Alistair Leslie-Hughes
c6956ccbda Rebase against 63ef9854fb6fc91a8c956a9d91abc07e906a4a33 2018-11-20 19:21:50 +11:00
Alistair Leslie-Hughes
e89028830e Disabled wined3d-Improved-RCP_Support patchset
This is causing regression in WOW.
https://bugs.winehq.org/show_bug.cgi?id=46148
2018-11-20 08:48:26 +11:00
Alistair Leslie-Hughes
f215d139b4 Added atl-AtlAxDialogBox patchset 2018-11-19 10:22:39 +11:00
Alistair Leslie-Hughes
d4deb4faac Added ntdll-RtlAddGrowableFunctionTable patchset 2018-11-19 09:00:30 +11:00
Zebediah Figura
b8e292a69c Rebase against 2ef62f90853d9903cdded2442e382b89a4c3a55f. 2018-11-16 19:15:02 -06:00
Alistair Leslie-Hughes
3e1acbd286 Rebase against ad576b6965fe9ce695bbf91ac229b04459af02d3 2018-11-16 10:08:31 +11:00
Alistair Leslie-Hughes
73c60b9896 Updated server-Signal_Thread patchset 2018-11-16 08:19:20 +11:00
Zebediah Figura
9d04d98ec8 Rebase against d9c7d4147b569553bc97ef57c6200002fe81565e. 2018-11-14 23:14:57 -06:00
Alistair Leslie-Hughes
3e32c05e8f Rebase against ead7e637c0d18760acd446d686ad18526e76e0f0 2018-11-14 10:21:24 +11:00
Alistair Leslie-Hughes
461bcc1e5f Added advapi32-RegLoadAppKey patchset 2018-11-14 08:22:14 +11:00
Alistair Leslie-Hughes
9bf2a46f26 Added ntdll-Manifest_Range patchset 2018-11-14 08:22:14 +11:00
Alistair Leslie-Hughes
50917334e1 Added wmvcore-WMCreateSyncReaderPriv patchset 2018-11-14 08:22:14 +11:00
Alistair Leslie-Hughes
dffcd7e6d6 Added wmvcore-WMCheckURlExtension patchset 2018-11-14 08:22:14 +11:00
Alistair Leslie-Hughes
efd52500f7 Added virtdisk-OpenVirtualDisk patchset 2018-11-14 08:22:14 +11:00
Alistair Leslie-Hughes
2d29324070 Added d3dx9_36-D3DXMatrixTransformation patchset 2018-11-14 08:22:14 +11:00
Zebediah Figura
84f6fd6c09 Rebase against ebae298aa4d2711fef35d4ac60c6012438f36d61. 2018-11-12 17:18:12 -06:00
Alistair Leslie-Hughes
a1b38470f1 Release v20 2018-11-11 13:32:22 +11:00
Zebediah Figura
cc4e783b69 Rebase against e9e12bda62fee68e9fbac5849f7ad1e199ee38b7. 2018-11-09 15:46:03 -06:00
Alistair Leslie-Hughes
566cd55d62 Rebase against 5e0d1c89ed774e78d60709e5239d56927150d03d 2018-11-09 18:41:23 +11:00
Alistair Leslie-Hughes
b4524898d6 Added wined3d-Improved-RCP_Support patchset 2018-11-07 11:04:24 +11:00
Alistair Leslie-Hughes
31e20daca3 Rebase against 9629769fe7a6fee0e5adaafad3545516ef478461 2018-11-07 10:25:37 +11:00
Alistair Leslie-Hughes
e4a3b5fc9d Rebase against b618a6c6a73deb78fa4d823b805fe03b99621cfd
This also disables a single patch which is causing an assert in
user32: struct user_thread_info

xxx9-user32-Cache-the-result-of-GetForegroundWindow.patch
2018-11-06 12:29:57 +11:00
Alistair Leslie-Hughes
ec85f08e87 Updated definitions 2018-11-05 08:20:40 +11:00
Alistair Leslie-Hughes
ac5710e76d Rebase against 09a81b30f8ca458db22d73c33545f02fd510702a 2018-11-02 16:24:24 +11:00
Alistair Leslie-Hughes
a423a7087f Rebase against 3056f9beb95f66e598ab51d5d37b21a548b3e5f8 2018-11-01 10:22:09 +11:00
Zebediah Figura
6fc555874b Rebase against 3d5a2567977455d04e4896368a71db74e7b9074b. 2018-10-31 00:06:39 -05:00
Alistair Leslie-Hughes
b874b3656e Rebase against 853351698842c92db62bddedd2f531b7c5e745d1 2018-10-30 11:18:13 +11:00
619 changed files with 37513 additions and 36880 deletions

View File

@@ -1,7 +1,7 @@
From 744549e1ecc76c3764079d337c09445d01a3527e Mon Sep 17 00:00:00 2001
From 5e4c31d0796f2e559889d4f84cdb571130217e7d Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Tue, 22 Mar 2016 21:58:40 +0100
Subject: dwrite: Avoid implicit cast of interface pointer.
Subject: [PATCH] dwrite: Avoid implicit cast of interface pointer.
---
dlls/dwrite/font.c | 4 ++--
@@ -9,10 +9,10 @@ Subject: dwrite: Avoid implicit cast of interface pointer.
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/dwrite/font.c b/dlls/dwrite/font.c
index d9ddce0..0a90c20 100644
index f50133d..1bc7b59 100644
--- a/dlls/dwrite/font.c
+++ b/dlls/dwrite/font.c
@@ -1684,7 +1684,7 @@ static struct dwrite_font *unsafe_impl_from_IDWriteFont(IDWriteFont *iface)
@@ -1815,7 +1815,7 @@ static struct dwrite_font *unsafe_impl_from_IDWriteFont(IDWriteFont *iface)
if (!iface)
return NULL;
assert(iface->lpVtbl == (IDWriteFontVtbl*)&dwritefontvtbl);
@@ -20,8 +20,8 @@ index d9ddce0..0a90c20 100644
+ return CONTAINING_RECORD((IDWriteFont3 *)iface, struct dwrite_font, IDWriteFont3_iface);
}
static struct dwrite_fontface *unsafe_impl_from_IDWriteFontFace(IDWriteFontFace *iface)
@@ -1692,7 +1692,7 @@ static struct dwrite_fontface *unsafe_impl_from_IDWriteFontFace(IDWriteFontFace
struct dwrite_fontface *unsafe_impl_from_IDWriteFontFace(IDWriteFontFace *iface)
@@ -1823,7 +1823,7 @@ struct dwrite_fontface *unsafe_impl_from_IDWriteFontFace(IDWriteFontFace *iface)
if (!iface)
return NULL;
assert(iface->lpVtbl == (IDWriteFontFaceVtbl*)&dwritefontfacevtbl);
@@ -31,10 +31,10 @@ index d9ddce0..0a90c20 100644
void get_logfont_from_font(IDWriteFont *iface, LOGFONTW *lf)
diff --git a/dlls/dwrite/layout.c b/dlls/dwrite/layout.c
index 706ed4e..c76a909 100644
index f27fe9f..ee1eb5a 100644
--- a/dlls/dwrite/layout.c
+++ b/dlls/dwrite/layout.c
@@ -5196,7 +5196,7 @@ static const IDWriteTextFormat2Vtbl dwritetextformatvtbl = {
@@ -5622,7 +5622,7 @@ static const IDWriteTextFormat2Vtbl dwritetextformatvtbl = {
static struct dwrite_textformat *unsafe_impl_from_IDWriteTextFormat(IDWriteTextFormat *iface)
{
return (iface->lpVtbl == (IDWriteTextFormatVtbl*)&dwritetextformatvtbl) ?
@@ -44,5 +44,5 @@ index 706ed4e..c76a909 100644
HRESULT create_textformat(const WCHAR *family_name, IDWriteFontCollection *collection, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STYLE style,
--
2.9.0
1.9.1

View File

@@ -1,8 +1,8 @@
From 42dbdf9479e2e09734fa183b854d5ddfe987f203 Mon Sep 17 00:00:00 2001
From 494fc3abe1eddabcf7cede677ee907284e89eea8 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Tue, 22 Mar 2016 23:08:30 +0100
Subject: [PATCH] include: Check element type in CONTAINING_RECORD and
similar macros.
Subject: [PATCH] include: Check element type in CONTAINING_RECORD and similar
macros.
---
include/wine/list.h | 10 ++++++++--
@@ -11,7 +11,7 @@ Subject: [PATCH] include: Check element type in CONTAINING_RECORD and
3 files changed, 24 insertions(+), 6 deletions(-)
diff --git a/include/wine/list.h b/include/wine/list.h
index b4d681f..287ad39 100644
index b4d681fe..287ad394 100644
--- a/include/wine/list.h
+++ b/include/wine/list.h
@@ -228,7 +228,13 @@ static inline void list_move_head( struct list *dst, struct list *src )
@@ -31,7 +31,7 @@ index b4d681f..287ad39 100644
#endif /* __WINE_SERVER_LIST_H */
diff --git a/include/wine/rbtree.h b/include/wine/rbtree.h
index dc50b5e..8130deb 100644
index dc50b5e7..8130deb5 100644
--- a/include/wine/rbtree.h
+++ b/include/wine/rbtree.h
@@ -23,8 +23,14 @@
@@ -52,12 +52,12 @@ index dc50b5e..8130deb 100644
struct wine_rb_entry
{
diff --git a/include/winnt.h b/include/winnt.h
index 7f822c4..ccfe73b 100644
index 2b489382..a156efc4 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -756,8 +756,14 @@ typedef struct _MEMORY_BASIC_INFORMATION
#define FIELD_OFFSET(type, field) ((LONG)offsetof(type, field))
@@ -760,8 +760,14 @@ typedef struct _MEMORY_BASIC_INFORMATION
#define RTL_FIELD_SIZE(type, field) (sizeof(((type *)0)->field))
#define RTL_SIZEOF_THROUGH_FIELD(type, field) (FIELD_OFFSET(type, field) + RTL_FIELD_SIZE(type, field))
-#define CONTAINING_RECORD(address, type, field) \
- ((type *)((PCHAR)(address) - offsetof(type, field)))
@@ -73,5 +73,5 @@ index 7f822c4..ccfe73b 100644
#ifdef __WINESRC__
# define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
--
1.9.1
2.20.1

View File

@@ -1,25 +1,25 @@
From 2e1a505fedd43f0f03ba36e1a8413bf04f8afa83 Mon Sep 17 00:00:00 2001
From 05ca39b029f8f710ca53aeafc36384fd39fd6b89 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Thu, 2 Oct 2014 19:53:46 +0200
Subject: winelib: Append '(Staging)' at the end of the version string.
Subject: [PATCH] winelib: Append '(Staging)' at the end of the version string.
---
libs/wine/Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libs/wine/Makefile.in b/libs/wine/Makefile.in
index 1b7fea8..780be10 100644
index 4833eb5..3cfa4f4 100644
--- a/libs/wine/Makefile.in
+++ b/libs/wine/Makefile.in
@@ -112,7 +112,7 @@ libwine_LDFLAGS = $(LIBWINE_LDFLAGS)
@@ -31,7 +31,7 @@ libwine_LDFLAGS = $(LIBWINE_LDFLAGS)
libwine_DEPS = $(LIBWINE_DEPENDS)
version.c: dummy
- version=`(GIT_DIR=$(top_srcdir)/.git git describe HEAD 2>/dev/null || echo "wine-$(PACKAGE_VERSION)") | sed -n -e '$$s/\(.*\)/const char wine_build[] = "\1";/p'` && (echo $$version | cmp -s - $@) || echo $$version >$@ || ($(RM) $@ && exit 1)
+ version=`(GIT_DIR=$(top_srcdir)/.git git describe HEAD 2>/dev/null || echo "wine-$(PACKAGE_VERSION)") | sed -n -e '$$s/\(.*\)/const char wine_build[] = "\1 (Staging)";/p'` && (echo $$version | cmp -s - $@) || echo $$version >$@ || ($(RM) $@ && exit 1)
- version=`(GIT_DIR=$(top_srcdir)/.git git describe HEAD 2>/dev/null || echo "wine-$(PACKAGE_VERSION)") | sed -n -e '$$s/\(.*\)/const char wine_build[] = "\1";/p'` && (echo $$version | cmp -s - $@) || echo $$version >$@ || (rm -f $@ && exit 1)
+ version=`(GIT_DIR=$(top_srcdir)/.git git describe HEAD 2>/dev/null || echo "wine-$(PACKAGE_VERSION)") | sed -n -e '$$s/\(.*\)/const char wine_build[] = "\1 (Staging)";/p'` && (echo $$version | cmp -s - $@) || echo $$version >$@ || (rm -f $@ && exit 1)
dummy:
.PHONY: dummy
--
2.6.2
1.9.1

View File

@@ -1,23 +1,23 @@
From f23512417cb3d149a8be4f757282d17cc1f99f9a Mon Sep 17 00:00:00 2001
From fa73044dd60bae90b9a5ec850205a07579d4db17 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Thu, 29 May 2014 23:43:45 +0200
Subject: loader: Add commandline option --patches to show the patch list.
Subject: [PATCH] loader: Add commandline option --patches to show the patch
list.
---
dlls/ntdll/misc.c | 8 ++++++++
dlls/ntdll/ntdll.spec | 1 +
include/wine/library.h | 1 +
libs/wine/config.c | 6 ++++++
libs/wine/wine.def | 1 +
libs/wine/wine.map | 1 +
loader/main.c | 42 +++++++++++++++++++++++++++++++++++++++++-
7 files changed, 59 insertions(+), 1 deletion(-)
6 files changed, 58 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/misc.c b/dlls/ntdll/misc.c
index ad1b43b..1f985e7 100644
index bb75d9c..21e2db6 100644
--- a/dlls/ntdll/misc.c
+++ b/dlls/ntdll/misc.c
@@ -55,6 +55,14 @@ const char * CDECL NTDLL_wine_get_version(void)
@@ -61,6 +61,14 @@ const char * CDECL NTDLL_wine_get_version(void)
}
/*********************************************************************
@@ -33,10 +33,10 @@ index ad1b43b..1f985e7 100644
*/
const char * CDECL NTDLL_wine_get_build_id(void)
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index 51de6e7..ee4ed49 100644
index 292b0f6..fb45a94 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -1421,6 +1421,7 @@
@@ -1516,6 +1516,7 @@
# Version
@ cdecl wine_get_version() NTDLL_wine_get_version
@@ -57,10 +57,10 @@ index 242bb69..fae73fe 100644
extern void wine_init_argv0_path( const char *argv0 );
extern void wine_exec_wine_binary( const char *name, char **argv, const char *env_var );
diff --git a/libs/wine/config.c b/libs/wine/config.c
index a273502..5262c76 100644
index 3c9110b..5da6263 100644
--- a/libs/wine/config.c
+++ b/libs/wine/config.c
@@ -478,6 +478,12 @@ const char *wine_get_version(void)
@@ -522,6 +522,12 @@ const char *wine_get_version(void)
return PACKAGE_VERSION;
}
@@ -73,18 +73,6 @@ index a273502..5262c76 100644
/* return the build id string */
const char *wine_get_build_id(void)
{
diff --git a/libs/wine/wine.def b/libs/wine/wine.def
index ed315bd..5b42029 100644
--- a/libs/wine/wine.def
+++ b/libs/wine/wine.def
@@ -83,6 +83,7 @@ EXPORTS
wine_get_sortkey
wine_get_user_name
wine_get_version
+ wine_get_patches
wine_init
wine_init_argv0_path
wine_is_dbcs_leadbyte
diff --git a/libs/wine/wine.map b/libs/wine/wine.map
index 2159fac..7cb2918 100644
--- a/libs/wine/wine.map
@@ -98,10 +86,10 @@ index 2159fac..7cb2918 100644
wine_init_argv0_path;
wine_is_dbcs_leadbyte;
diff --git a/loader/main.c b/loader/main.c
index ce21173..4794e51 100644
index f197cf8..f662912 100644
--- a/loader/main.c
+++ b/loader/main.c
@@ -89,7 +89,8 @@ static void check_command_line( int argc, char *argv[] )
@@ -54,7 +54,8 @@ static void check_command_line( int argc, char *argv[] )
static const char usage[] =
"Usage: wine PROGRAM [ARGUMENTS...] Run the specified program\n"
" wine --help Display this help and exit\n"
@@ -111,7 +99,7 @@ index ce21173..4794e51 100644
if (argc <= 1)
{
@@ -106,6 +107,45 @@ static void check_command_line( int argc, char *argv[] )
@@ -71,6 +72,45 @@ static void check_command_line( int argc, char *argv[] )
printf( "%s\n", wine_get_build_id() );
exit(0);
}
@@ -158,5 +146,5 @@ index ce21173..4794e51 100644
--
2.2.1
1.9.1

View File

@@ -1,16 +1,15 @@
From 41863fd8fdf3a885efa93359a538e4e74258fb30 Mon Sep 17 00:00:00 2001
From 9618572cf2eace39198fb83b747a70d1865015e3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Wed, 28 May 2014 19:50:51 +0200
Subject: loader: Add commandline option --check-libs.
Subject: [PATCH] loader: Add commandline option --check-libs.
---
include/wine/library.h | 2 +
libs/wine/config.c | 124 +++++++++++++++++++++++++++++++++++++++++++++++++
libs/wine/loader.c | 36 ++++++++++++++
libs/wine/wine.def | 2 +
libs/wine/wine.map | 2 +
loader/main.c | 50 +++++++++++++++++++-
6 files changed, 215 insertions(+), 1 deletion(-)
5 files changed, 213 insertions(+), 1 deletion(-)
diff --git a/include/wine/library.h b/include/wine/library.h
index fae73fe..7395a11 100644
@@ -33,10 +32,10 @@ index fae73fe..7395a11 100644
extern void *wine_dlsym( void *handle, const char *symbol, char *error, size_t errorsize );
extern int wine_dlclose( void *handle, char *error, size_t errorsize );
diff --git a/libs/wine/config.c b/libs/wine/config.c
index 12f4a67..be9f401 100644
index 5da6263..6cedfb7 100644
--- a/libs/wine/config.c
+++ b/libs/wine/config.c
@@ -443,6 +443,130 @@ const char *wine_get_build_dir(void)
@@ -488,6 +488,130 @@ const char *wine_get_build_dir(void)
return build_dir;
}
@@ -168,10 +167,10 @@ index 12f4a67..be9f401 100644
const char *wine_get_server_dir(void)
{
diff --git a/libs/wine/loader.c b/libs/wine/loader.c
index b5b32cc..1453a82 100644
index 649aa22..367dde3 100644
--- a/libs/wine/loader.c
+++ b/libs/wine/loader.c
@@ -1041,6 +1041,42 @@ void *wine_dlopen( const char *filename, int flag, char *error, size_t errorsize
@@ -1064,6 +1064,42 @@ void *wine_dlopen( const char *filename, int flag, char *error, size_t errorsize
}
/***********************************************************************
@@ -214,26 +213,6 @@ index b5b32cc..1453a82 100644
* wine_dlsym
*/
void *wine_dlsym( void *handle, const char *symbol, char *error, size_t errorsize )
diff --git a/libs/wine/wine.def b/libs/wine/wine.def
index 5b42029..6acf329 100644
--- a/libs/wine/wine.def
+++ b/libs/wine/wine.def
@@ -64,6 +64,7 @@ EXPORTS
wine_dbg_sprintf
wine_dbgstr_an
wine_dbgstr_wn
+ wine_dladdr
wine_dlclose
wine_dll_enum_load_path
wine_dll_get_owner
@@ -79,6 +80,7 @@ EXPORTS
wine_get_build_id
wine_get_config_dir
wine_get_data_dir
+ wine_get_libs
wine_get_server_dir
wine_get_sortkey
wine_get_user_name
diff --git a/libs/wine/wine.map b/libs/wine/wine.map
index 7cb2918..72ffed8 100644
--- a/libs/wine/wine.map
@@ -255,7 +234,7 @@ index 7cb2918..72ffed8 100644
wine_get_sortkey;
wine_get_ss;
diff --git a/loader/main.c b/loader/main.c
index 343ea26..44804e1 100644
index f662912..a2dc40c 100644
--- a/loader/main.c
+++ b/loader/main.c
@@ -36,6 +36,12 @@
@@ -271,7 +250,7 @@ index 343ea26..44804e1 100644
#include <pthread.h>
#include "wine/library.h"
@@ -90,7 +96,8 @@ static void check_command_line( int argc, char *argv[] )
@@ -55,7 +61,8 @@ static void check_command_line( int argc, char *argv[] )
"Usage: wine PROGRAM [ARGUMENTS...] Run the specified program\n"
" wine --help Display this help and exit\n"
" wine --version Output version information and exit\n"
@@ -281,7 +260,7 @@ index 343ea26..44804e1 100644
if (argc <= 1)
{
@@ -146,6 +153,47 @@ static void check_command_line( int argc, char *argv[] )
@@ -111,6 +118,47 @@ static void check_command_line( int argc, char *argv[] )
exit(0);
}
@@ -330,5 +309,5 @@ index 343ea26..44804e1 100644
--
2.7.1
1.9.1

View File

@@ -1,28 +1,23 @@
From b4a2543264f9eb91fc259a81dea872eee3c14aba Mon Sep 17 00:00:00 2001
From 07ca5e888c3265c57c88ef1758e6c47fbea4fb07 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 27 Jun 2015 19:28:51 +0200
Subject: loader: Print library paths for --check-libs on Mac OS X.
---
loader/main.c | 27 ++++++++++++++++++++++++++-
1 file changed, 26 insertions(+), 1 deletion(-)
loader/main.c | 30 +++++++++++++++++++++++++++++-
1 file changed, 29 insertions(+), 1 deletion(-)
diff --git a/loader/main.c b/loader/main.c
index 44804e1..4d9126e 100644
index a2dc40c51c..1642fb0965 100644
--- a/loader/main.c
+++ b/loader/main.c
@@ -48,6 +48,7 @@
#include "main.h"
@@ -50,6 +50,30 @@
/* the preloader will set this variable */
const struct wine_preload_info *wine_main_preload_info = NULL;
#ifdef __APPLE__
+#ifdef __APPLE__
+#include <mach-o/dyld.h>
#ifndef __clang__
__asm__(".zerofill WINE_DOS, WINE_DOS, ___wine_dos, 0x40000000");
@@ -73,6 +74,26 @@ static inline void reserve_area( void *addr, size_t size )
wine_mmap_add_reserved_area( addr, size );
}
+
+static const char *get_macho_library_path( const char *libname )
+{
+ unsigned int path_len, libname_len = strlen( libname );
@@ -30,7 +25,7 @@ index 44804e1..4d9126e 100644
+
+ for (i = 0; i < count; i++)
+ {
+ const char *path = _dyld_get_image_name( i );
+ const char *path = _dyld_get_image_name( i );
+ if (!path) continue;
+
+ path_len = strlen( path );
@@ -42,11 +37,12 @@ index 44804e1..4d9126e 100644
+ }
+ return NULL;
+}
+#endif
+
#else /* __APPLE__ */
/* the preloader will set this variable */
@@ -181,7 +202,11 @@ static void check_command_line( int argc, char *argv[] )
/***********************************************************************
* check_command_line
*
@@ -146,7 +170,11 @@ static void check_command_line( int argc, char *argv[] )
else
#endif
{
@@ -60,5 +56,5 @@ index 44804e1..4d9126e 100644
wine_dlclose( lib_handle, NULL, 0 );
}
--
2.4.3
2.14.1

View File

@@ -1,36 +0,0 @@
From 22a49dfa50cda9b1f5a5c64eabed2d17b0033896 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 4 Aug 2017 02:52:50 +0200
Subject: server: Correctly validate SID length in sd_is_valid.
---
server/token.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/server/token.c b/server/token.c
index acd7a4dedb5..7ab0f634c05 100644
--- a/server/token.c
+++ b/server/token.c
@@ -332,8 +332,7 @@ int sd_is_valid( const struct security_descriptor *sd, data_size_t size )
owner = sd_get_owner( sd );
if (owner)
{
- size_t needed_size = security_sid_len( owner );
- if ((sd->owner_len < sizeof(SID)) || (needed_size > sd->owner_len))
+ if ((sd->owner_len < sizeof(SID)) || (security_sid_len( owner ) > sd->owner_len))
return FALSE;
}
offset += sd->owner_len;
@@ -344,8 +343,7 @@ int sd_is_valid( const struct security_descriptor *sd, data_size_t size )
group = sd_get_group( sd );
if (group)
{
- size_t needed_size = security_sid_len( group );
- if ((sd->group_len < sizeof(SID)) || (needed_size > sd->group_len))
+ if ((sd->group_len < sizeof(SID)) || (security_sid_len( group ) > sd->group_len))
return FALSE;
}
offset += sd->group_len;
--
2.13.1

View File

@@ -1,95 +0,0 @@
From f0290aad953e988b1a15e214ecfc57f21dc136af Mon Sep 17 00:00:00 2001
From: Qian Hong <qhong@codeweavers.com>
Date: Tue, 28 Apr 2015 23:28:50 +0800
Subject: advapi32/tests: Test prefix and use of TokenPrimaryGroup Sid.
---
dlls/advapi32/tests/security.c | 35 ++++++++++++++++++++++++++++++-----
1 file changed, 30 insertions(+), 5 deletions(-)
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
index f3fc682..6a716d6 100644
--- a/dlls/advapi32/tests/security.c
+++ b/dlls/advapi32/tests/security.c
@@ -2514,19 +2514,21 @@ static void test_granted_access(HANDLE handle, ACCESS_MASK access,
static void test_process_security(void)
{
BOOL res;
+ PTOKEN_USER user;
PTOKEN_OWNER owner;
PTOKEN_PRIMARY_GROUP group;
- PSID AdminSid = NULL, UsersSid = NULL;
+ PSID AdminSid = NULL, UsersSid = NULL, UserSid = NULL;
PACL Acl = NULL, ThreadAcl = NULL;
SECURITY_DESCRIPTOR *SecurityDescriptor = NULL, *ThreadSecurityDescriptor = NULL;
- char buffer[MAX_PATH];
+ char buffer[MAX_PATH], account[MAX_PATH], domain[MAX_PATH];
PROCESS_INFORMATION info;
STARTUPINFOA startup;
SECURITY_ATTRIBUTES psa, tsa;
HANDLE token, event;
- DWORD size;
+ DWORD size, acc_size, dom_size, ret;
SID_IDENTIFIER_AUTHORITY SIDAuthWorld = { SECURITY_WORLD_SID_AUTHORITY };
PSID EveryoneSid = NULL;
+ SID_NAME_USE use;
Acl = HeapAlloc(GetProcessHeap(), 0, 256);
res = InitializeAcl(Acl, 256, ACL_REVISION);
@@ -2558,7 +2560,8 @@ static void test_process_security(void)
owner = HeapAlloc(GetProcessHeap(), 0, size);
res = GetTokenInformation( token, TokenOwner, owner, size, &size );
ok(res, "GetTokenInformation failed with error %d\n", GetLastError());
- AdminSid = ((TOKEN_OWNER*)owner)->Owner;
+ AdminSid = owner->Owner;
+ test_sid_str(AdminSid);
res = GetTokenInformation( token, TokenPrimaryGroup, NULL, 0, &size );
ok(!res, "Expected failure, got %d\n", res);
@@ -2568,13 +2571,34 @@ static void test_process_security(void)
group = HeapAlloc(GetProcessHeap(), 0, size);
res = GetTokenInformation( token, TokenPrimaryGroup, group, size, &size );
ok(res, "GetTokenInformation failed with error %d\n", GetLastError());
- UsersSid = ((TOKEN_PRIMARY_GROUP*)group)->PrimaryGroup;
+ UsersSid = group->PrimaryGroup;
+ test_sid_str(UsersSid);
+
+ acc_size = sizeof(account);
+ dom_size = sizeof(domain);
+ ret = LookupAccountSidA( NULL, UsersSid, account, &acc_size, domain, &dom_size, &use );
+ ok(ret, "LookupAccountSid failed with %d\n", ret);
+ todo_wine ok(use == SidTypeGroup, "expect SidTypeGroup, got %d\n", use);
+ todo_wine ok(!strcmp(account, "None"), "expect None, got %s\n", account);
+
+ res = GetTokenInformation( token, TokenUser, NULL, 0, &size );
+ ok(!res, "Expected failure, got %d\n", res);
+ ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER,
+ "Expected ERROR_INSUFFICIENT_BUFFER, got %d\n", GetLastError());
+
+ user = HeapAlloc(GetProcessHeap(), 0, size);
+ res = GetTokenInformation( token, TokenUser, user, size, &size );
+ ok(res, "GetTokenInformation failed with error %d\n", GetLastError());
+ UserSid = user->User.Sid;
+ test_sid_str(UserSid);
+ todo_wine ok(EqualPrefixSid(UsersSid, UserSid), "TokenPrimaryGroup Sid and TokenUser Sid don't match.\n");
CloseHandle( token );
if (!res)
{
HeapFree(GetProcessHeap(), 0, group);
HeapFree(GetProcessHeap(), 0, owner);
+ HeapFree(GetProcessHeap(), 0, user);
HeapFree(GetProcessHeap(), 0, Acl);
return;
}
@@ -2681,6 +2705,7 @@ static void test_process_security(void)
CloseHandle( event );
HeapFree(GetProcessHeap(), 0, group);
HeapFree(GetProcessHeap(), 0, owner);
+ HeapFree(GetProcessHeap(), 0, user);
HeapFree(GetProcessHeap(), 0, Acl);
HeapFree(GetProcessHeap(), 0, SecurityDescriptor);
HeapFree(GetProcessHeap(), 0, ThreadAcl);
--
2.3.5

View File

@@ -1 +0,0 @@
Depends: server-Misc_ACL

View File

@@ -1,110 +0,0 @@
From 646388b696afda85dccc76678af6a8955bf0b627 Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@wine-staging.com>
Date: Fri, 16 Oct 2015 16:03:00 -0600
Subject: advapi32: Move the DACL combining code into a separate routine.
---
dlls/advapi32/security.c | 79 +++++++++++++++++++++++++++---------------------
1 file changed, 45 insertions(+), 34 deletions(-)
diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
index 00dafe8..dad8b22 100644
--- a/dlls/advapi32/security.c
+++ b/dlls/advapi32/security.c
@@ -5805,6 +5805,48 @@ BOOL WINAPI FileEncryptionStatusA(LPCSTR lpFileName, LPDWORD lpStatus)
return TRUE;
}
+static NTSTATUS combine_dacls(ACL *parent, ACL *child, ACL **result)
+{
+ ACL *combined;
+ int i;
+
+ /* initialize a combined DACL containing both inherited and new ACEs */
+ combined = heap_alloc_zero(child->AclSize+parent->AclSize);
+ if (!combined)
+ return STATUS_NO_MEMORY;
+
+ memcpy(combined, child, child->AclSize);
+ combined->AclSize = child->AclSize+parent->AclSize;
+
+ /* copy the inherited ACEs */
+ for (i=0; i<parent->AceCount; i++)
+ {
+ ACE_HEADER *ace;
+
+ if (!GetAce(parent, i, (void*)&ace))
+ continue;
+ if (!(ace->AceFlags & (OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE)))
+ continue;
+ if ((ace->AceFlags & (OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE)) !=
+ (OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE))
+ {
+ FIXME("unsupported flags: %x\n", ace->AceFlags);
+ continue;
+ }
+
+ if (ace->AceFlags & NO_PROPAGATE_INHERIT_ACE)
+ ace->AceFlags &= ~(OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE|NO_PROPAGATE_INHERIT_ACE);
+ ace->AceFlags &= ~INHERIT_ONLY_ACE;
+ ace->AceFlags |= INHERITED_ACE;
+
+ if (!AddAce(combined, ACL_REVISION, MAXDWORD, ace, ace->AceSize))
+ WARN("error adding inherited ACE\n");
+ }
+
+ *result = combined;
+ return STATUS_SUCCESS;
+}
+
/******************************************************************************
* SetSecurityInfo [ADVAPI32.@]
*/
@@ -5904,41 +5946,10 @@ DWORD WINAPI SetSecurityInfo(HANDLE handle, SE_OBJECT_TYPE ObjectType,
if (!err)
{
- int i;
-
- dacl = heap_alloc_zero(pDacl->AclSize+parent_dacl->AclSize);
- if (!dacl)
- {
- LocalFree(parent_sd);
- return ERROR_NOT_ENOUGH_MEMORY;
- }
- memcpy(dacl, pDacl, pDacl->AclSize);
- dacl->AclSize = pDacl->AclSize+parent_dacl->AclSize;
-
- for (i=0; i<parent_dacl->AceCount; i++)
- {
- ACE_HEADER *ace;
-
- if (!GetAce(parent_dacl, i, (void*)&ace))
- continue;
- if (!(ace->AceFlags & (OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE)))
- continue;
- if ((ace->AceFlags & (OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE)) !=
- (OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE))
- {
- FIXME("unsupported flags: %x\n", ace->AceFlags);
- continue;
- }
-
- if (ace->AceFlags & NO_PROPAGATE_INHERIT_ACE)
- ace->AceFlags &= ~(OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE|NO_PROPAGATE_INHERIT_ACE);
- ace->AceFlags &= ~INHERIT_ONLY_ACE;
- ace->AceFlags |= INHERITED_ACE;
-
- if(!AddAce(dacl, ACL_REVISION, MAXDWORD, ace, ace->AceSize))
- WARN("error adding inherited ACE\n");
- }
+ status = combine_dacls(parent_dacl, pDacl, &dacl);
LocalFree(parent_sd);
+ if (status != STATUS_SUCCESS)
+ return RtlNtStatusToDosError(status);
}
}
else
--
2.6.1

View File

@@ -1,54 +0,0 @@
From d1accafbe8e52b6b2c84e9fe5d08303fc05858af Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@wine-staging.com>
Date: Fri, 16 Oct 2015 13:58:38 -0600
Subject: advapi32: Fix the initialization of combined DACLs when the new DACL
is empty.
---
dlls/advapi32/security.c | 23 +++++++++++++++++++++--
1 file changed, 21 insertions(+), 2 deletions(-)
diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
index dad8b22..11ae487 100644
--- a/dlls/advapi32/security.c
+++ b/dlls/advapi32/security.c
@@ -5807,6 +5807,7 @@ BOOL WINAPI FileEncryptionStatusA(LPCSTR lpFileName, LPDWORD lpStatus)
static NTSTATUS combine_dacls(ACL *parent, ACL *child, ACL **result)
{
+ NTSTATUS status;
ACL *combined;
int i;
@@ -5815,8 +5816,26 @@ static NTSTATUS combine_dacls(ACL *parent, ACL *child, ACL **result)
if (!combined)
return STATUS_NO_MEMORY;
- memcpy(combined, child, child->AclSize);
- combined->AclSize = child->AclSize+parent->AclSize;
+ status = RtlCreateAcl(combined, parent->AclSize+child->AclSize, ACL_REVISION);
+ if (status != STATUS_SUCCESS)
+ {
+ heap_free(combined);
+ return status;
+ }
+
+ /* copy the new ACEs */
+ for (i=0; i<child->AceCount; i++)
+ {
+ ACE_HEADER *ace;
+
+ if (!GetAce(child, i, (void*)&ace))
+ {
+ WARN("error obtaining new ACE\n");
+ continue;
+ }
+ if (!AddAce(combined, ACL_REVISION, MAXDWORD, ace, ace->AceSize))
+ WARN("error adding new ACE\n");
+ }
/* copy the inherited ACEs */
for (i=0; i<parent->AceCount; i++)
--
2.6.1

View File

@@ -1 +0,0 @@
Fixes: [38423] Fix the initialization of combined DACLs when the new DACL is empty

View File

@@ -1,4 +1,4 @@
From 7d07ac217db0b5226fed0b7233fdb21ef70b0cc9 Mon Sep 17 00:00:00 2001
From ae503e8e7eb8f4fcb9bf3e642458c2a1bba6ccaa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Mon, 7 Aug 2017 02:28:35 +0200
Subject: [PATCH] server: Implement token integrity level.
@@ -10,19 +10,19 @@ Subject: [PATCH] server: Implement token integrity level.
3 files changed, 48 insertions(+), 12 deletions(-)
diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c
index b1dd999cf5..249b715da3 100644
index ca26ab15..8aab0a48 100644
--- a/dlls/ntdll/nt.c
+++ b/dlls/ntdll/nt.c
@@ -400,7 +400,7 @@ NTSTATUS WINAPI NtQueryInformationToken(
0, /* TokenAccessInformation */
0, /* TokenVirtualizationAllowed */
0, /* TokenVirtualizationEnabled */
sizeof(DWORD), /* TokenVirtualizationEnabled */
- sizeof(TOKEN_MANDATORY_LABEL) + sizeof(SID), /* TokenIntegrityLevel [sizeof(SID) includes one SubAuthority] */
+ 0, /* TokenIntegrityLevel */
0, /* TokenUIAccess */
0, /* TokenMandatoryPolicy */
0, /* TokenLogonSid */
@@ -653,18 +653,23 @@ NTSTATUS WINAPI NtQueryInformationToken(
@@ -659,18 +659,23 @@ NTSTATUS WINAPI NtQueryInformationToken(
}
break;
case TokenIntegrityLevel:
@@ -55,7 +55,7 @@ index b1dd999cf5..249b715da3 100644
case TokenAppContainerSid:
{
diff --git a/server/protocol.def b/server/protocol.def
index 93afaabca1..685f69f4e2 100644
index 11221d7d..1bfe3234 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -3405,6 +3405,13 @@ enum caret_state
@@ -73,7 +73,7 @@ index 93afaabca1..685f69f4e2 100644
obj_handle_t handle; /* handle to the token */
@REPLY
diff --git a/server/token.c b/server/token.c
index e97c460ae0..fb40c1b551 100644
index ccde0c2d..2d81118a 100644
--- a/server/token.c
+++ b/server/token.c
@@ -113,6 +113,7 @@ struct token
@@ -112,7 +112,7 @@ index e97c460ae0..fb40c1b551 100644
if (!token) return token;
/* copy groups */
@@ -891,7 +895,7 @@ struct token *token_create_admin( void )
@@ -890,7 +894,7 @@ struct token *token_create_admin( void )
static const TOKEN_SOURCE admin_source = {"SeMgr", {0, 0}};
token = create_token( TRUE, user_sid, admin_groups, ARRAY_SIZE( admin_groups ),
admin_privs, ARRAY_SIZE( admin_privs ), default_dacl,
@@ -121,7 +121,7 @@ index e97c460ae0..fb40c1b551 100644
/* we really need a primary group */
assert( token->primary_group );
}
@@ -1525,6 +1529,26 @@ DECL_HANDLER(get_token_sid)
@@ -1524,6 +1528,26 @@ DECL_HANDLER(get_token_sid)
}
}

View File

@@ -1,4 +1,4 @@
From d67d7293a17592b580d284fa68881a613e61f591 Mon Sep 17 00:00:00 2001
From f94296129eb249a04ccb012a10f50b79fb0a631a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 5 Aug 2017 01:45:29 +0200
Subject: [PATCH] ntdll: Add function to create new tokens for elevation
@@ -14,10 +14,10 @@ Subject: [PATCH] ntdll: Add function to create new tokens for elevation
6 files changed, 117 insertions(+)
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index dbead5e..586b504 100644
index 969cee7..008abb7 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -1482,6 +1482,9 @@
@@ -1508,6 +1508,9 @@
# Virtual memory
@ cdecl __wine_locked_recvmsg(long ptr long)
@@ -28,12 +28,12 @@ index dbead5e..586b504 100644
@ cdecl wine_get_version() NTDLL_wine_get_version
@ cdecl wine_get_patches() NTDLL_wine_get_patches
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
index 8a64338..137a22d 100644
index 5a93ede..cb02bd1 100644
--- a/dlls/ntdll/ntdll_misc.h
+++ b/dlls/ntdll/ntdll_misc.h
@@ -80,6 +80,9 @@ extern void virtual_init_threading(void) DECLSPEC_HIDDEN;
extern void fill_cpu_info(void) DECLSPEC_HIDDEN;
extern void heap_set_debug_flags( HANDLE handle ) DECLSPEC_HIDDEN;
@@ -83,6 +83,9 @@ extern void heap_set_debug_flags( HANDLE handle ) DECLSPEC_HIDDEN;
extern void init_user_process_params( SIZE_T data_size ) DECLSPEC_HIDDEN;
extern void update_user_process_params( const UNICODE_STRING *image ) DECLSPEC_HIDDEN;
+/* token */
+extern HANDLE CDECL __wine_create_default_token(BOOL admin);
@@ -42,10 +42,10 @@ index 8a64338..137a22d 100644
extern timeout_t server_start_time DECLSPEC_HIDDEN;
extern unsigned int server_cpus DECLSPEC_HIDDEN;
diff --git a/dlls/ntdll/process.c b/dlls/ntdll/process.c
index 40034b4..1ebbb79 100644
index 2ff8610..bb4a171 100644
--- a/dlls/ntdll/process.c
+++ b/dlls/ntdll/process.c
@@ -99,6 +99,24 @@ HANDLE CDECL __wine_make_process_system(void)
@@ -118,6 +118,24 @@ HANDLE CDECL __wine_make_process_system(void)
return ret;
}
@@ -71,10 +71,10 @@ index 40034b4..1ebbb79 100644
#define UNIMPLEMENTED_INFO_CLASS(c) \
diff --git a/server/protocol.def b/server/protocol.def
index 0bb04cd..f2deca6 100644
index 493100b..071f740 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -3641,6 +3641,14 @@ struct handle_info
@@ -3666,6 +3666,14 @@ struct handle_info
@END
@@ -102,7 +102,7 @@ index 6c33714..21e90cc 100644
/* token functions */
diff --git a/server/token.c b/server/token.c
index 7776cbe..64ab565 100644
index 4c37c67..e449e61 100644
--- a/server/token.c
+++ b/server/token.c
@@ -79,6 +79,7 @@ static const SID anonymous_logon_sid = { SID_REVISION, 1, { SECURITY_NT_AUTHORIT
@@ -121,7 +121,7 @@ index 7776cbe..64ab565 100644
static luid_t prev_luid_value = { 1000, 0 };
@@ -901,6 +903,64 @@ struct token *token_create_admin( void )
@@ -908,6 +910,64 @@ struct token *token_create_admin( void )
return token;
}
@@ -186,7 +186,7 @@ index 7776cbe..64ab565 100644
static struct privilege *token_find_privilege( struct token *token, const LUID *luid, int enabled_only )
{
struct privilege *privilege;
@@ -1718,3 +1778,27 @@ DECL_HANDLER(set_token_default_dacl)
@@ -1713,3 +1773,27 @@ DECL_HANDLER(set_token_default_dacl)
release_object( token );
}
}

View File

@@ -1,25 +1,24 @@
From 3ff546b9cbde1d0f5ea43c5cbb92ac8dc2028676 Mon Sep 17 00:00:00 2001
From 19cfff2a16953b65f9767fee571a4ce5d51b0536 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 5 Aug 2017 03:39:55 +0200
Subject: [PATCH] ntdll: Implement process token elevation through manifests.
---
dlls/ntdll/loader.c | 37 +++++++++++++++++++++++++++++++++++++
dlls/ntdll/loader.c | 40 ++++++++++++++++++++++++++++++++++++++--
server/process.c | 8 ++++++++
server/process.h | 1 +
server/protocol.def | 7 +++++++
server/token.c | 14 ++++++++++++++
5 files changed, 67 insertions(+)
5 files changed, 68 insertions(+), 2 deletions(-)
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
index 3fcbbf77a5..2399f1246e 100644
index c0708c6..479608f 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -3054,6 +3054,32 @@ NTSTATUS attach_dlls( CONTEXT *context )
}
@@ -3505,6 +3505,32 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, void **entry, ULONG_PTR unknow
+/***********************************************************************
/***********************************************************************
+ * elevate_process
+ */
+static void elevate_process( void )
@@ -45,19 +44,37 @@ index 3fcbbf77a5..2399f1246e 100644
+}
+
+
/***********************************************************************
+/***********************************************************************
* load_global_options
*/
@@ -3115,6 +3141,7 @@ void WINAPI LdrInitializeThunk( void *kernel_start, ULONG_PTR unknown2,
ULONG_PTR unknown3, ULONG_PTR unknown4 )
{
static void load_global_options(void)
@@ -3557,6 +3583,7 @@ static void load_global_options(void)
}
+
/***********************************************************************
* RtlImageDirectoryEntryToData (NTDLL.@)
*/
@@ -3592,7 +3619,6 @@ PVOID WINAPI RtlImageDirectoryEntryToData( HMODULE module, BOOL image, WORD dir,
return RtlImageRvaToVa( nt, module, addr, NULL );
}
-
/***********************************************************************
* RtlImageRvaToSection (NTDLL.@)
*/
@@ -3691,7 +3717,7 @@ void __wine_process_init(void)
's','y','s','t','e','m','3','2','\\',
'k','e','r','n','e','l','3','2','.','d','l','l',0};
static const WCHAR globalflagW[] = {'G','l','o','b','a','l','F','l','a','g',0};
-
+ ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION runlevel;
NTSTATUS status;
WINE_MODREF *wm;
PEB *peb = NtCurrentTeb()->Peb;
@@ -3142,6 +3169,16 @@ void WINAPI LdrInitializeThunk( void *kernel_start, ULONG_PTR unknown2,
REG_DWORD, &peb->NtGlobalFlag, sizeof(peb->NtGlobalFlag), NULL );
NTSTATUS status;
ANSI_STRING func_name;
@@ -3742,6 +3768,16 @@ void __wine_process_init(void)
&NtCurrentTeb()->Peb->NtGlobalFlag, sizeof(DWORD), NULL );
heap_set_debug_flags( GetProcessHeap() );
+ /* elevate process if necessary */
@@ -72,12 +89,12 @@ index 3fcbbf77a5..2399f1246e 100644
+
/* the main exe needs to be the first in the load order list */
RemoveEntryList( &wm->ldr.InLoadOrderModuleList );
InsertHeadList( &peb->LdrData->InLoadOrderModuleList, &wm->ldr.InLoadOrderModuleList );
InsertHeadList( &NtCurrentTeb()->Peb->LdrData->InLoadOrderModuleList, &wm->ldr.InLoadOrderModuleList );
diff --git a/server/process.c b/server/process.c
index ee85249bd4..81cea2f1ba 100644
index d8fdfcc..2c9365a 100644
--- a/server/process.c
+++ b/server/process.c
@@ -1133,6 +1133,14 @@ struct process_snapshot *process_snap( int *count )
@@ -1129,6 +1129,14 @@ struct process_snapshot *process_snap( int *count )
return snapshot;
}
@@ -93,10 +110,10 @@ index ee85249bd4..81cea2f1ba 100644
DECL_HANDLER(new_process)
{
diff --git a/server/process.h b/server/process.h
index f22c128f07..78e88ec350 100644
index d9d29f0..a494eab 100644
--- a/server/process.h
+++ b/server/process.h
@@ -136,6 +136,7 @@ extern void break_process( struct process *process );
@@ -139,6 +139,7 @@ extern void break_process( struct process *process );
extern void detach_debugged_processes( struct thread *debugger );
extern struct process_snapshot *process_snap( int *count );
extern void enum_processes( int (*cb)(struct process*, void*), void *user);
@@ -105,10 +122,10 @@ index f22c128f07..78e88ec350 100644
/* console functions */
extern void inherit_console(struct thread *parent_thread, struct process *process, obj_handle_t hconin);
diff --git a/server/protocol.def b/server/protocol.def
index 0abd1683f0..5fb6e38ea5 100644
index 2b8d51a..650c279 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -3654,6 +3654,13 @@ struct handle_info
@@ -3721,6 +3721,13 @@ struct handle_info
@END
@@ -123,10 +140,10 @@ index 0abd1683f0..5fb6e38ea5 100644
@REQ(create_completion)
unsigned int access; /* desired access to a port */
diff --git a/server/token.c b/server/token.c
index 64ab565a95..52fa10d52e 100644
index fcab799..181219d 100644
--- a/server/token.c
+++ b/server/token.c
@@ -1802,3 +1802,17 @@ DECL_HANDLER(create_token)
@@ -1806,3 +1806,17 @@ DECL_HANDLER(create_token)
release_object( token );
}
}
@@ -145,5 +162,5 @@ index 64ab565a95..52fa10d52e 100644
+ }
+}
--
2.16.1
1.9.1

View File

@@ -1,5 +1,4 @@
Fixes: [40613] Basic implementation for token integrity levels and UAC handling
Fixes: [39262] Run explorer.exe as unevaluated process
Depends: advapi32-CreateRestrictedToken
Depends: server-Misc_ACL
Depends: Staging

View File

@@ -1,26 +1,26 @@
From a4d5c33bb2fc98fd0f84ea05575e0d3eeb5a1bcd Mon Sep 17 00:00:00 2001
From 9a67b4c62e5a575a38081114d4434f274355020e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Tue, 12 Apr 2016 01:02:34 +0200
Subject: [PATCH] uiautomationcore: Add dll and stub some functions.
---
dlls/uiautomationcore/Makefile.in | 1 +
dlls/uiautomationcore/uia_main.c | 53 +++++++++++++++++++++++++----
dlls/uiautomationcore/uiautomationcore.spec | 6 ++++
3 files changed, 54 insertions(+), 6 deletions(-)
dlls/uiautomationcore/Makefile.in | 1 +
dlls/uiautomationcore/uia_main.c | 53 ++++++++++++++++++++++++++++++++++-----
2 files changed, 48 insertions(+), 6 deletions(-)
diff --git a/dlls/uiautomationcore/Makefile.in b/dlls/uiautomationcore/Makefile.in
index 78d6254..029fc2e 100644
index 5221450..5173f23 100644
--- a/dlls/uiautomationcore/Makefile.in
+++ b/dlls/uiautomationcore/Makefile.in
@@ -1,4 +1,5 @@
@@ -1,5 +1,6 @@
MODULE = uiautomationcore.dll
IMPORTLIB = uiautomationcore
+IMPORTS = uuid
C_SRCS = \
uia_main.c
diff --git a/dlls/uiautomationcore/uia_main.c b/dlls/uiautomationcore/uia_main.c
index 31b7d3e..cc4831e 100644
index f0d8247..b9c24b4 100644
--- a/dlls/uiautomationcore/uia_main.c
+++ b/dlls/uiautomationcore/uia_main.c
@@ -1,4 +1,5 @@
@@ -121,41 +121,6 @@ index 31b7d3e..cc4831e 100644
return 0;
}
diff --git a/dlls/uiautomationcore/uiautomationcore.spec b/dlls/uiautomationcore/uiautomationcore.spec
index 48a06b2..8e676ad 100644
--- a/dlls/uiautomationcore/uiautomationcore.spec
+++ b/dlls/uiautomationcore/uiautomationcore.spec
@@ -53,6 +53,8 @@
@ stub TransformPattern_Rotate
@ stub UiaAddEvent
@ stdcall UiaClientsAreListening()
+@ stub UiaDisconnectAllProviders
+@ stub UiaDisconnectProvider
@ stub UiaEventAddWindow
@ stub UiaEventRemoveWindow
@ stub UiaFind
@@ -69,6 +71,7 @@
@ stub UiaHUiaNodeFromVariant
@ stub UiaHasServerSideProvider
@ stub UiaHostProviderFromHwnd
+@ stub UiaIAccessibleFromProvider
@ stdcall UiaLookupId(long ptr)
@ stub UiaNavigate
@ stub UiaNodeFromFocus
@@ -77,10 +80,13 @@
@ stub UiaNodeFromProvider
@ stub UiaNodeRelease
@ stub UiaPatternRelease
+@ stub UiaProviderForNonClient
+@ stub UiaProviderFromIAccessible
@ stub UiaRaiseAsyncContentLoadedEvent
@ stdcall UiaRaiseAutomationEvent(ptr long)
@ stub UiaRaiseAutomationPropertyChangedEvent
@ stub UiaRaiseStructureChangedEvent
+@ stub UiaRaiseTextEditTextChangedEvent
@ stub UiaRegisterProviderCallback
@ stub UiaRemoveEvent
@ stdcall UiaReturnRawElementProvider(long long long ptr)
--
1.9.1

View File

@@ -0,0 +1,100 @@
From 452c42b4855e2f6338fa9b8746377ff9fe9ee706 Mon Sep 17 00:00:00 2001
From: Qian Hong <qhong@codeweavers.com>
Date: Wed, 23 Apr 2014 04:16:53 +0800
Subject: [PATCH] atl: Implement AtlAxDialogBox[A,W]
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=32749
---
dlls/atl/atl_ax.c | 60 +++++++++++++++++++++++++++++++++++++++++++++----------
1 file changed, 50 insertions(+), 10 deletions(-)
diff --git a/dlls/atl/atl_ax.c b/dlls/atl/atl_ax.c
index 8121278..92fcb84 100644
--- a/dlls/atl/atl_ax.c
+++ b/dlls/atl/atl_ax.c
@@ -28,6 +28,7 @@
#include "winerror.h"
#include "winuser.h"
#include "wine/debug.h"
+#include "wine/heap.h"
#include "objbase.h"
#include "objidl.h"
#include "ole2.h"
@@ -1407,25 +1408,64 @@ HRESULT WINAPI AtlAxGetControl(HWND hWnd, IUnknown **pUnk)
}
/***********************************************************************
- * AtlAxDialogBoxW [atl100.35]
+ * AtlAxDialogBoxA [atl100.@]
*
*/
-INT_PTR WINAPI AtlAxDialogBoxW(HINSTANCE hInstance, LPCWSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogProc,
- LPARAM dwInitParam)
+INT_PTR WINAPI AtlAxDialogBoxA(HINSTANCE hInst, LPCSTR name, HWND owner, DLGPROC dlgProc, LPARAM param)
{
- FIXME("(%p %s %p %p %lx)\n", hInstance, debugstr_w(lpTemplateName), hWndParent, lpDialogProc, dwInitParam);
- return 0;
+ INT_PTR res = 0;
+ int length;
+ WCHAR *nameW;
+
+ if (IS_INTRESOURCE(name))
+ return AtlAxDialogBoxW( hInst, (LPCWSTR) name, owner, dlgProc, param );
+
+ length = MultiByteToWideChar( CP_ACP, 0, name, -1, NULL, 0 );
+ nameW = heap_alloc( length * sizeof(WCHAR) );
+ if (nameW)
+ {
+ MultiByteToWideChar( CP_ACP, 0, name, -1, nameW, length );
+ res = AtlAxDialogBoxW( hInst, nameW, owner, dlgProc, param );
+ heap_free( nameW );
+ }
+ return res;
}
/***********************************************************************
- * AtlAxDialogBoxA [atl100.36]
+ * AtlAxDialogBoxW [atl100.@]
*
*/
-INT_PTR WINAPI AtlAxDialogBoxA(HINSTANCE hInstance, LPCSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogProc,
- LPARAM dwInitParam)
+INT_PTR WINAPI AtlAxDialogBoxW(HINSTANCE hInst, LPCWSTR name, HWND owner, DLGPROC dlgProc, LPARAM param)
{
- FIXME("(%p %s %p %p %lx)\n", hInstance, debugstr_a(lpTemplateName), hWndParent, lpDialogProc, dwInitParam);
- return 0;
+ HRSRC hrsrc;
+ HGLOBAL hgl;
+ LPCDLGTEMPLATEW ptr;
+ LPDLGTEMPLATEW newptr;
+ INT_PTR res;
+
+ TRACE("(%p %s %p %p %lx)\n", hInst, debugstr_w(name), owner, dlgProc, param);
+
+ hrsrc = FindResourceW( hInst, name, (LPWSTR)RT_DIALOG );
+ if ( !hrsrc )
+ return 0;
+ hgl = LoadResource (hInst, hrsrc);
+ if ( !hgl )
+ return 0;
+ ptr = LockResource ( hgl );
+ if (!ptr)
+ {
+ FreeResource( hgl );
+ return 0;
+ }
+ newptr = AX_ConvertDialogTemplate( ptr );
+ if ( newptr )
+ {
+ res = DialogBoxIndirectParamW( hInst, newptr, owner, dlgProc, param );
+ heap_free( newptr );
+ } else
+ res = 0;
+ FreeResource ( hrsrc );
+ return res;
}
/***********************************************************************
--
1.9.1

View File

@@ -0,0 +1 @@
Fixes: [32749] atl: Implemented AtlAxDialogBox[A,W]

View File

@@ -1,183 +0,0 @@
From ef9a368177cf6f1a1ca7f99fd3ae0b8b6918160a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Mon, 8 Feb 2016 04:44:24 +0100
Subject: avifile.dll16: Correctly convert result of AVIStreamGetFrame to a
segptr.
---
dlls/avifile.dll16/Makefile.in | 3 +
dlls/avifile.dll16/avifile.dll16.spec | 6 +-
dlls/avifile.dll16/main.c | 133 ++++++++++++++++++++++++++++++++++
3 files changed, 139 insertions(+), 3 deletions(-)
create mode 100644 dlls/avifile.dll16/main.c
diff --git a/dlls/avifile.dll16/Makefile.in b/dlls/avifile.dll16/Makefile.in
index 6050c6c..4152c2f 100644
--- a/dlls/avifile.dll16/Makefile.in
+++ b/dlls/avifile.dll16/Makefile.in
@@ -1,3 +1,6 @@
MODULE = avifile.dll16
IMPORTS = avifil32
EXTRADLLFLAGS = -m16 -Wb,--main-module,avifil32.dll
+
+C_SRCS = \
+ main.c
diff --git a/dlls/avifile.dll16/avifile.dll16.spec b/dlls/avifile.dll16/avifile.dll16.spec
index 71a6c74..0e19413 100644
--- a/dlls/avifile.dll16/avifile.dll16.spec
+++ b/dlls/avifile.dll16/avifile.dll16.spec
@@ -20,9 +20,9 @@
105 stub AVIMAKECOMPRESSEDSTREAM
106 stub AVIMAKEFILEFROMSTREAMS
107 stub AVIMAKESTREAMFROMCLIPBOARD
-110 pascal AVIStreamGetFrame(long long) AVIStreamGetFrame
-111 pascal AVIStreamGetFrameClose(long) AVIStreamGetFrameClose
-112 pascal AVIStreamGetFrameOpen(long ptr) AVIStreamGetFrameOpen
+110 pascal AVIStreamGetFrame(long long) AVIStreamGetFrame16
+111 pascal AVIStreamGetFrameClose(long) AVIStreamGetFrameClose16
+112 pascal AVIStreamGetFrameOpen(long ptr) AVIStreamGetFrameOpen16
120 stub _AVISAVE
121 stub AVISAVEV
122 stub AVISAVEOPTIONS
diff --git a/dlls/avifile.dll16/main.c b/dlls/avifile.dll16/main.c
new file mode 100644
index 0000000..9e1faac
--- /dev/null
+++ b/dlls/avifile.dll16/main.c
@@ -0,0 +1,133 @@
+/*
+ * Wrapper for 16 bit avifile functions
+ *
+ * Copyright 2016 Michael MĂĽller
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include "wine/winbase16.h"
+#include "winternl.h"
+#include "wingdi.h"
+#include "vfw.h"
+
+struct frame_wrapper16
+{
+ PGETFRAME pg;
+ PVOID ptr;
+ DWORD size;
+ WORD sel;
+ WORD count;
+};
+
+static void free_segptr_frame(struct frame_wrapper16 *wrapper)
+{
+ int i;
+
+ if (!wrapper->sel)
+ return;
+
+ for (i = 0; i < wrapper->count; i++)
+ FreeSelector16(wrapper->sel + (i << __AHSHIFT));
+
+ wrapper->sel = 0;
+}
+
+static SEGPTR alloc_segptr_frame(struct frame_wrapper16 *wrapper, void *ptr, DWORD size)
+{
+ int i;
+
+ if (wrapper->sel)
+ {
+ if (wrapper->ptr == ptr && wrapper->size == size)
+ return MAKESEGPTR(wrapper->sel, 0);
+ free_segptr_frame(wrapper);
+ }
+
+ wrapper->ptr = ptr;
+ wrapper->size = size;
+ wrapper->count = (size + 0xffff) / 0x10000;
+ wrapper->sel = AllocSelectorArray16(wrapper->count);
+ if (!wrapper->sel)
+ return 0;
+
+ for (i = 0; i < wrapper->count; i++)
+ {
+ SetSelectorBase(wrapper->sel + (i << __AHSHIFT), (DWORD)ptr + i * 0x10000);
+ SetSelectorLimit16(wrapper->sel + (i << __AHSHIFT), size - 1);
+ size -= 0x10000;
+ }
+
+ return MAKESEGPTR(wrapper->sel, 0);
+}
+
+/***********************************************************************
+ * AVIStreamGetFrameOpen (AVIFILE.112)
+ */
+PGETFRAME WINAPI AVIStreamGetFrameOpen16(PAVISTREAM pstream, LPBITMAPINFOHEADER lpbiWanted)
+{
+ struct frame_wrapper16 *wrapper;
+ PGETFRAME pg;
+
+ pg = AVIStreamGetFrameOpen(pstream, lpbiWanted);
+ if (!pg) return NULL;
+
+ wrapper = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*wrapper));
+ if (!wrapper)
+ {
+ AVIStreamGetFrameClose(pg);
+ return NULL;
+ }
+
+ wrapper->pg = pg;
+ return (PGETFRAME)wrapper;
+}
+
+/***********************************************************************
+ * AVIStreamGetFrame (AVIFILE.110)
+ */
+SEGPTR WINAPI AVIStreamGetFrame16(PGETFRAME pg, LONG pos)
+{
+ struct frame_wrapper16 *wrapper = (void *)pg;
+ BITMAPINFOHEADER *bih;
+
+ if (!pg) return 0;
+
+ bih = AVIStreamGetFrame(wrapper->pg, pos);
+ if (bih)
+ {
+ DWORD size = bih->biSize + bih->biSizeImage;
+ return alloc_segptr_frame(wrapper, bih, size);
+ }
+
+ return 0;
+}
+
+
+/***********************************************************************
+ * AVIStreamGetFrameClose (AVIFILE.111)
+ */
+HRESULT WINAPI AVIStreamGetFrameClose16(PGETFRAME pg)
+{
+ struct frame_wrapper16 *wrapper = (void *)pg;
+ HRESULT hr;
+
+ if (!pg) return S_OK;
+
+ hr = AVIStreamGetFrameClose(wrapper->pg);
+ free_segptr_frame(wrapper);
+ HeapFree(GetProcessHeap(), 0, wrapper);
+ return hr;
+}
--
2.9.0

Some files were not shown because too many files have changed in this diff Show More