Compare commits

..

100 Commits

Author SHA1 Message Date
Sebastian Lackner
7df2eaa22d Release 1.9.13. 2016-06-25 17:18:29 +02:00
Sebastian Lackner
571ab663fd Added patch to remove duplicate definition in include/webservices.h. 2016-06-25 07:13:04 +02:00
Sebastian Lackner
ddba27937a ntoskrnl-DriverTest: Fix compile error caused by wrong import library. 2016-06-25 04:59:47 +02:00
Sebastian Lackner
f71c20b7f7 Rebase against af6f8ca4136ad937f8743494a8d3cea0b52d71cf.
[msvcrt-_fstat32i64]
Removed patch to implement msvcrt._fstat32i64 (accepted upstream).
2016-06-24 15:43:04 +02:00
Sebastian Lackner
8281fca8dc Added patch to implement ole32.OleGetIconOfFile stub. 2016-06-24 12:00:24 +02:00
Sebastian Lackner
093f3b9818 gdiplus-GdipCreateMetafileFromStream: Update patchset and implement GdipCreateMetafileFromFile. 2016-06-24 11:53:34 +02:00
Sebastian Lackner
c8299873fb wined3d-CSMT_Main: Remove patches with unnecessary 'Waiting for cs' warning. 2016-06-24 04:42:45 +02:00
Sebastian Lackner
60e6da65cd Rebase against 82f3446c5d09aba0aa0cffcf7ece54d44d3b86ef. 2016-06-24 02:24:55 +02:00
Sebastian Lackner
08dca3b834 Rebase against 38fb1062daaf68afe4dc20e1aceddfa89fe1ea4f. 2016-06-24 01:13:57 +02:00
Sebastian Lackner
4f12cf4dc9 Rebase against 9ba058e94c2662f5296c95adeafd29c59b137249. 2016-06-23 17:37:04 +02:00
Sebastian Lackner
1d08851c35 Rebase against e3bd659be9b2868b121857fb2643d775bbf0d8c7.
[d3dx9_33-Share_Source]
Removed patch to share source of d3dx9_36 with d3dx9_33 to avoid Wine DLL
forwards (accepted upstream).
2016-06-23 16:17:27 +02:00
Sebastian Lackner
a8976086e5 Rebase against 0c83f4d5bec8b01e1e6dcbb0a9a9932b6c24570b. 2016-06-23 07:26:56 +02:00
Sebastian Lackner
c6a96f3e32 Rebase against 7fe9858988eabf377ab5e2c64d92f973574b1ae8.
Also modifies a couple of other wined3d-CSMT_Main patches, and uses
wined3d_cs_emit_destroy_object where appropriate.
2016-06-23 06:15:03 +02:00
Sebastian Lackner
6adf92cebb Rebase against 4afc7470fb630035c911a1bf1d48f66bf16c230c. 2016-06-23 00:43:28 +02:00
Sebastian Lackner
e27647e4d5 Rebase against 9c1fbe509576d7cbaada3af9736888cfa1d02847. 2016-06-22 23:33:39 +02:00
Sebastian Lackner
2f3baafeca Rebase against 025c54344230ca8b32e80f08b9af13a16dfd2445.
[ws2_32-Sort_default_route]
Removed patch to ensure default route IP addresses are returned first in
gethostbyname.
2016-06-21 22:18:57 +02:00
Sebastian Lackner
5e5f21854b Rebase against 754c68182623657b4862d7700afbf781b4555c77.
[ucrtbase-Functions]
Removed patch to forward _{calloc,malloc,free}_base to {calloc,malloc,free}.
2016-06-17 19:04:51 +02:00
Sebastian Lackner
6b9d38b61c Remove disabled gdi32-PS_GEOMETRIC patchset.
Bug 39172 already has been fixed in a different way.
2016-06-17 05:40:44 +02:00
Sebastian Lackner
45157d6bbe Added patch with stubs for user-mode scheduling functions. 2016-06-17 03:44:38 +02:00
Sebastian Lackner
3cb1c835bc Added patch to use root dialog for DM_SETDEFID/DM_GETDEFID in DefDlgProc. 2016-06-16 23:52:44 +02:00
Sebastian Lackner
243a9f7b89 Rebase against 41d01871fef296dc717cf2c4f0bdbb07f5266acd. 2016-06-16 22:56:56 +02:00
Sebastian Lackner
4f532d23bb Rebase against 7cb3b72559745d94e7b7e3a0fbb40426f93d775f. 2016-06-16 22:02:21 +02:00
Sebastian Lackner
73d2e2a9e8 Rebase against 849163b1ed5e2586ee9f391e7a8b03f054bb620f. 2016-06-15 20:57:20 +02:00
Sebastian Lackner
7391ecfaa0 Release 1.9.12. 2016-06-13 19:02:12 +02:00
Sebastian Lackner
295deafca7 comctl32-Listview_DrawItem: Update patchset and fix a regression (thanks Michael MĂĽller). 2016-06-13 02:12:53 +02:00
Sebastian Lackner
2dd175172b Added patch to pass correct itemData to WM_MEASUREITEM when inserting an item to an owner-drawn listbox. 2016-06-12 19:58:05 +02:00
Sebastian Lackner
5924752fd9 Rebase against 50917e283629cbe994f2d7f091ed46ac8b25cda6. 2016-06-12 05:43:39 +02:00
Sebastian Lackner
57b298602e Rebase against 03b06fb76ba4204df5c20fda8955da09e16ec095. 2016-06-12 05:00:55 +02:00
Sebastian Lackner
52f5a405e9 Rebase against 0c0c86a8c7c93e7edbca8a7840c945f4159c3059.
FIXME: We should do all operations through the command stream.
2016-06-12 04:42:26 +02:00
Sebastian Lackner
c92ffa58c0 Rebase against 2a5b4fd884801a7f394ade49142fbfdba195243c. 2016-06-11 19:33:18 +02:00
Sebastian Lackner
e741b83080 Rebase against 9cc95e5a1d930d72892949a3ddf8fa00d471af88. 2016-06-06 22:38:52 +02:00
Sebastian Lackner
faf8d49216 winex11-_NET_ACTIVE_WINDOW: Update patchset and fix a regression (thanks Michael MĂĽller). 2016-06-05 02:34:21 +02:00
Sebastian Lackner
08e221b30c Added patch to send SC_KEYMENU on managed windows. 2016-06-05 01:32:42 +02:00
Sebastian Lackner
c2158ca405 Added patch to force conversion of 8 bpp grayscale PNG images to 32 bpp BGRA. 2016-06-04 03:04:10 +02:00
Sebastian Lackner
953ae16ca9 Added patch to scale a geometric pen for the mapping mode used by PATH_StrokePath. 2016-06-04 02:53:05 +02:00
Sebastian Lackner
066e207750 Rebase against d8641197c041763c2c9784f4b4a8b3dba2bbf0cb. 2016-06-03 18:05:36 +02:00
Sebastian Lackner
64e8ae3a61 Rebase against 5840ea47e6a0d761acbd45cd5a59fbcebfb86326. 2016-06-02 23:10:47 +02:00
Sebastian Lackner
3d1995983f Rebase against 03fa4cfaffd4c10f56a2f8bfd383f4eaf67d364c.
[ntdll-WinSqm]
Removed patch to add WinSqm[Start|End]Session implementation (accepted upstream).
2016-06-02 22:15:30 +02:00
Sebastian Lackner
4705d850ea Rebase against 59ee884bdf4947f5939499456539fca7a5806939. 2016-05-31 23:09:34 +02:00
Sebastian Lackner
8bede16222 Rebase against c89dc58deb9ba74d8dcd7faf7012203cff0724a0. 2016-05-30 18:24:40 +02:00
Sebastian Lackner
5c3c83fef5 Added patch to check if menu text is a valid string in MENU_DrawMenuItem. 2016-05-30 15:40:30 +02:00
Sebastian Lackner
8c43c80df2 Release 1.9.11. 2016-05-29 20:16:54 +02:00
Sebastian Lackner
99ddea76c5 Temporarily disable ntdll-Thread_Stack patchset.
The patchset was initially added for 64-bit MSYS2, however it seems to
break various other applications. Disable it until a better solution is
found.
2016-05-29 17:20:49 +02:00
Sebastian Lackner
6eb4b11c22 Added patch for ntoskrnl.IoStopTimer stub function. 2016-05-29 16:45:04 +02:00
Sebastian Lackner
5eb1d3c69b Added patch to implement DrawDibProfileDisplay in msvideo.dll16. 2016-05-28 00:24:35 +02:00
Sebastian Lackner
70a46a2305 Added patch to provide DeviceID, Location and PortName for printers. 2016-05-28 00:18:19 +02:00
Sebastian Lackner
bd04bf9ac0 Added patch for setupapi.CM_Get_DevNode_Status stub implementation. 2016-05-28 00:13:07 +02:00
Sebastian Lackner
749dc37048 Rebase against 81c700e0f8f8670f9c3b05a4baab2b2cffaeff89. 2016-05-27 23:41:15 +02:00
Sebastian Lackner
a15b448623 Rebase against 0dcf255b51ef096d649a5b4daee7204409550376. 2016-05-27 23:01:46 +02:00
Sebastian Lackner
e460e59354 Rebase against a0c651cd7cf83c9fac6b8776de2d54a731fc4b29.
[secur32-ANSI_NTLM_Credentials]
Removed patch to fix handling of ANSI NTLM credentials (accepted upstream).
2016-05-26 23:38:44 +02:00
Sebastian Lackner
71bb1a35f5 Added patch to avoid sorting InMemoryOrderModuleList by memory address. 2016-05-26 15:55:53 +02:00
Sebastian Lackner
83d43970e8 wined3d-CSMT_Main: Use newly introduced wined3d_calloc function. 2016-05-26 01:38:25 +02:00
Sebastian Lackner
0f1aef64bf Rebase against b5aeb661b9297a6ee6047335f42543936f593525. 2016-05-25 21:17:56 +02:00
Sebastian Lackner
a40017a010 Rebase against 351bd33f2cd1edd680176ef777d77a3d1256ab6d. 2016-05-25 20:34:59 +02:00
Sebastian Lackner
94419b1dad Rebase against 698d4114677205c3e5a0df659d230fe982578757. 2016-05-25 03:43:00 +02:00
Sebastian Lackner
5d32e6fc71 Added patch with workaround for Windows 3.1 apps which call LoadImage(LR_LOADFROMFILE) with a resource id. 2016-05-21 15:07:54 +02:00
Sebastian Lackner
f10c1d3c42 Rebase against 9a80284e1a886ff7e01d33f68715c9bfdb773459. 2016-05-19 20:06:07 +02:00
Sebastian Lackner
9aefba7af5 wined3d-CSMT_Main: Make float constant updates consistent with the rest of the code. 2016-05-19 14:44:21 +02:00
Sebastian Lackner
16e6b1c3e3 Rebase against 58e95f72218fa018739c484f172bc236e685d5bb.
[dbghelp-EnumerateLoadedModulesExW]
Removed patch to implement dbghelp.EnumerateLoadedModulesExW (fixed upstream).
2016-05-19 13:19:02 +02:00
Sebastian Lackner
8a2c526e13 Rebase against aa475ce23fa295a8f5d0fa120d7b3dac1a5a41b5.
[wininet-InternetReadFile]
Removed patch to return synchronously from InternetReadFile if there is no
more data to read (accepted upstream).
2016-05-19 13:18:45 +02:00
Sebastian Lackner
334b3cb393 Release 1.9.10. 2016-05-18 00:00:26 +02:00
Sebastian Lackner
54ed708c91 kernel32-Locale_Definitions: Update patchset and remove STAGED status. 2016-05-17 22:43:28 +02:00
Sebastian Lackner
1294cf8ca9 Added patch to implement msvcrt._fstat32i64. 2016-05-17 21:52:28 +02:00
Sebastian Lackner
5c40d98a8f Disabled wined3d-Revert_PixelFormat patchset.
The issue has already been fixed a while ago, and there are no known cases
where this patch actually makes a difference.
2016-05-17 15:15:15 +02:00
Sebastian Lackner
cc62b92f5e Added patch to recognize bump luminance X8L8V8U8 when loading dds file. 2016-05-17 14:51:17 +02:00
Sebastian Lackner
a89e9696d4 Added patch to properly handle invalid parameters in CharToOem* and OemToChar* APIs. 2016-05-17 14:43:30 +02:00
Sebastian Lackner
5f37cb2071 Added patch to resize buffer when call to InternetCanonicalizeUrlW fails in InternetCrackUrlW. 2016-05-17 14:38:43 +02:00
Sebastian Lackner
b4c93af2cb wined3d-CSMT_Main: Reenable CSMT patchset. 2016-05-17 12:57:30 +02:00
Sebastian Lackner
c2b1a0350d Added patch to implement dbghelp.EnumerateLoadedModulesExW. 2016-05-16 20:04:51 +02:00
Sebastian Lackner
70c4687b47 Added patch to fix various issues related to UnmapViewOfFile. 2016-05-16 19:59:21 +02:00
Sebastian Lackner
9907ab34d3 Added patch to return synchronously from InternetReadFile if there is no more data to read. 2016-05-16 19:40:37 +02:00
Sebastian Lackner
cd9936654a Rebase against f7ac364b0c06bbe7a1ef5b715f2be46b5e6c04d4. 2016-05-16 19:31:20 +02:00
Sebastian Lackner
87b3c56914 imagehlp-ImageLoad: Add dependency on imagehlp-Cleanup and remove a couple of todo_wines. 2016-05-15 22:55:46 +02:00
Sebastian Lackner
65a09eaaa0 d3d9-DesktopWindow: Fix some test failures. 2016-05-15 22:50:00 +02:00
Sebastian Lackner
35e6091943 winepulse-PulseAudio_Support: Add todo_wine to avoid a test failure. 2016-05-15 20:30:25 +02:00
Sebastian Lackner
2dff0d6075 oleaut32-OLEPictureImpl_SaveAsFile: Implement SaveAsFile for PICTYPE_ENHMETAFILE. 2016-05-15 19:09:59 +02:00
Sebastian Lackner
fd89a1b64c Added patch to avoid test failures in d2d1 tests on specific Nvidia graphic cards. 2016-05-15 17:32:04 +02:00
Sebastian Lackner
352d7723f5 mpr-WNetGetUniversalNameW: Fix a couple of test failures. 2016-05-15 17:28:01 +02:00
Sebastian Lackner
4564b0148b iphlpapi-System_Ping: Add/remove todo_wine to avoid test failures. 2016-05-15 17:20:24 +02:00
Sebastian Lackner
56c4a42468 Merge d3d9-Skip_Tests and d3d9-Tests patchset. 2016-05-15 17:15:01 +02:00
Sebastian Lackner
49f61371b2 Added patch to avoid test failures in d3d9 visual tests on specific Nvidia graphic cards. 2016-05-15 17:13:53 +02:00
Sebastian Lackner
fa0e389d75 Added patch to hide random test failures in ws2_32 socket tests. 2016-05-15 17:12:01 +02:00
Sebastian Lackner
44b04d6d36 winex11-wglShareLists: Remove todo for a succeeding tests. 2016-05-15 16:53:46 +02:00
Sebastian Lackner
64714a825f wined3d-Accounting: Mark some failing tests as todo. 2016-05-15 16:49:22 +02:00
Sebastian Lackner
71b8ace1aa wined3d-QUERY_Stubs: Remove todo for a couple of succeeding tests. 2016-05-15 16:38:54 +02:00
Sebastian Lackner
d661521305 ntdll-WRITECOPY: Do not mark tests as fixed.
The code is not active unless a special environment variable is set.
2016-05-15 16:32:20 +02:00
Sebastian Lackner
6f424b1e0f Rebase against 1348d9e97b1e83c99b68e0c9b592798038dc7f41. 2016-05-15 02:23:15 +02:00
Sebastian Lackner
131c688ab3 Added patch for sr-Latn-{CS,RS} locale definitions. 2016-05-15 00:11:30 +02:00
Sebastian Lackner
27ba45e053 Added patch to preserve custom colors between subitems for listview control. 2016-05-14 23:55:10 +02:00
Sebastian Lackner
1acbf46fcf Added patch to fix DialogBoxParam return value when control creation fails. 2016-05-14 23:46:34 +02:00
Sebastian Lackner
dc4a52734f Added patch with riched20 class tests. 2016-05-13 10:33:56 +02:00
Sebastian Lackner
b1d1f3475b Added patch to implement gdiplus.GdipGetMetafileHeaderFromMetafile and other metafile functions. 2016-05-13 08:29:00 +02:00
Sebastian Lackner
00902fdb2f Added patch to update Wine Gecko to version 2.47-beta1. 2016-05-11 02:58:17 +02:00
Sebastian Lackner
ee7d9bd76b oleaut32-Vtable_Offset: Add reference to upstream bug report. 2016-05-11 02:48:15 +02:00
Sebastian Lackner
e38a9d7073 Added patch to set buffer size to zero when InitializeSecurityContextW returns no data. 2016-05-08 23:20:09 +02:00
Sebastian Lackner
cd9e01c9ed Added patch to implement support for fs segment in GetThreadSelectorEntry. 2016-05-08 20:24:58 +02:00
Sebastian Lackner
ece39ae33d Added patch to extend a vtable offset before calling 64-bit DispCallFunc() for a 32-bit typelib. 2016-05-06 04:16:30 +02:00
Sebastian Lackner
cecff04cad Rebase against 6dd6c76299f02a311e37d20a4cef3a0f917f7076.
[ntdll-FileNamesInformation]
Removed patch to implement FileNamesInformation class support for
NtQueryDirectoryFile (fixed upstream).
2016-05-06 00:52:12 +02:00
Sebastian Lackner
96068c4fe2 Rebase against 9eaa37249948c4d77df37cf3649ad1db59412fcb.
[amstream-GetMultiMediaStream]
Removed patch to implement AMStream GetMultiMediaStream functions (accepted
upstream).

[mscoree-Buffer_Overflow]
Removed patch to avoid buffer overflow in mono print handler for large strings
(accepted upstream).

[ntdll-Fix_Free]
Removed patch to fix a handle leak in RemoveDirectoryW (accepted upstream).

[ntdll-FreeBSD_Directory]
Removed patch to use POSIX implementation to enumerate directory content on
FreeBSD (fixed upstream).
2016-05-04 05:14:18 +02:00
Sebastian Lackner
8e5acbdae3 Rebase against bd2999db92e63f3aa8b48945503c616c28726842.
[dwmapi-DwmSetWindowAttribute]
Removed patch to fake success in dwmapi.DwmSetWindowAttribute function
(accepted upstream).

[ntdll-NtSetLdtEntries]
Partially removed patch to implement ntdll.NtSetLdtEntries (accepted upstream).

[shell32-UNIXFS_get_unix_path]
Removed patch to check IsWoW64Process before calling Wow64 functions in
UNIXFS_get_unix_path (fixed upstream).
2016-05-02 20:35:09 +02:00
397 changed files with 16368 additions and 28128 deletions

View File

@@ -1,88 +0,0 @@
From 4d0e6bbc00bd49b8dcfce494bd7380c49f58f92b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Tue, 28 Jul 2015 18:21:20 +0200
Subject: amstream: Implement IAMMediaStream::GetMultiMediaStream.
---
dlls/amstream/mediastream.c | 40 ++++++++++++++++++++++++++++++++--------
1 file changed, 32 insertions(+), 8 deletions(-)
diff --git a/dlls/amstream/mediastream.c b/dlls/amstream/mediastream.c
index 947be1e..e4e15d7 100644
--- a/dlls/amstream/mediastream.c
+++ b/dlls/amstream/mediastream.c
@@ -110,9 +110,15 @@ static HRESULT WINAPI DirectDrawMediaStreamImpl_IAMMediaStream_GetMultiMediaStre
{
DirectDrawMediaStreamImpl *This = impl_from_DirectDrawMediaStream_IAMMediaStream(iface);
- FIXME("(%p/%p)->(%p) stub!\n", This, iface, multi_media_stream);
+ TRACE("(%p/%p)->(%p) stub!\n", This, iface, multi_media_stream);
- return S_FALSE;
+ if (!multi_media_stream)
+ return E_POINTER;
+
+ IMultiMediaStream_AddRef(This->parent);
+ *multi_media_stream = This->parent;
+
+ return S_OK;
}
static HRESULT WINAPI DirectDrawMediaStreamImpl_IAMMediaStream_GetInformation(IAMMediaStream *iface,
@@ -271,9 +277,15 @@ static HRESULT WINAPI DirectDrawMediaStreamImpl_IDirectDrawMediaStream_GetMultiM
{
DirectDrawMediaStreamImpl *This = impl_from_IDirectDrawMediaStream(iface);
- FIXME("(%p/%p)->(%p) stub!\n", This, iface, ppMultiMediaStream);
+ TRACE("(%p/%p)->(%p) stub!\n", This, iface, ppMultiMediaStream);
- return S_FALSE;
+ if (!ppMultiMediaStream)
+ return E_POINTER;
+
+ IMultiMediaStream_AddRef(This->parent);
+ *ppMultiMediaStream = This->parent;
+
+ return S_OK;
}
static HRESULT WINAPI DirectDrawMediaStreamImpl_IDirectDrawMediaStream_GetInformation(IDirectDrawMediaStream *iface,
@@ -511,9 +523,15 @@ static HRESULT WINAPI AudioMediaStreamImpl_IAMMediaStream_GetMultiMediaStream(IA
{
AudioMediaStreamImpl *This = impl_from_AudioMediaStream_IAMMediaStream(iface);
- FIXME("(%p/%p)->(%p) stub!\n", This, iface, multi_media_stream);
+ TRACE("(%p/%p)->(%p)\n", This, iface, multi_media_stream);
- return S_FALSE;
+ if (!multi_media_stream)
+ return E_POINTER;
+
+ IMultiMediaStream_AddRef(This->parent);
+ *multi_media_stream = This->parent;
+
+ return S_OK;
}
static HRESULT WINAPI AudioMediaStreamImpl_IAMMediaStream_GetInformation(IAMMediaStream *iface,
@@ -672,9 +690,15 @@ static HRESULT WINAPI AudioMediaStreamImpl_IAudioMediaStream_GetMultiMediaStream
{
AudioMediaStreamImpl *This = impl_from_IAudioMediaStream(iface);
- FIXME("(%p/%p)->(%p) stub!\n", iface, This, multimedia_stream);
+ TRACE("(%p/%p)->(%p)\n", iface, This, multimedia_stream);
- return S_FALSE;
+ if (!multimedia_stream)
+ return E_POINTER;
+
+ IMultiMediaStream_AddRef(This->parent);
+ *multimedia_stream = This->parent;
+
+ return S_OK;
}
static HRESULT WINAPI AudioMediaStreamImpl_IAudioMediaStream_GetInformation(IAudioMediaStream *iface,
--
2.4.5

View File

@@ -1 +0,0 @@
Fixes: [37090] Implement AMStream GetMultiMediaStream functions

View File

@@ -0,0 +1,116 @@
From 8113f7a7b3c214b5c9d07a4b6f5b0d97d6f576f1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 12 Jul 2014 23:58:19 +0200
Subject: comctl32: Preserve custom colors between subitems. (v2)
---
dlls/comctl32/listview.c | 20 +++++++++-----------
dlls/comctl32/tests/listview.c | 27 ++++++++++++++++++++++-----
2 files changed, 31 insertions(+), 16 deletions(-)
diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c
index 784ca7b..2c4051d 100644
--- a/dlls/comctl32/listview.c
+++ b/dlls/comctl32/listview.c
@@ -1054,7 +1054,7 @@ static void prepaint_setup (const LISTVIEW_INFO *infoPtr, HDC hdc, NMLVCUSTOMDRA
COLORREF backcolor, textcolor;
/* apparently, for selected items, we have to override the returned values */
- if (!SubItem)
+ if (!SubItem || (infoPtr->dwLvExStyle & LVS_EX_FULLROWSELECT))
{
if (lpnmlvcd->nmcd.uItemState & CDIS_SELECTED)
{
@@ -4767,6 +4767,7 @@ static BOOL LISTVIEW_DrawItem(LISTVIEW_INFO *infoPtr, HDC hdc, INT nItem, ITERAT
while (iterator_next(subitems))
{
DWORD subitemstage = CDRF_DODEFAULT;
+ NMLVCUSTOMDRAW temp_nmlvcd;
/* We need to query for each subitem, item's data (subitem == 0) is already here at this point */
if (subitems->nItem)
@@ -4793,19 +4794,16 @@ static BOOL LISTVIEW_DrawItem(LISTVIEW_INFO *infoPtr, HDC hdc, INT nItem, ITERAT
if (cdsubitemmode & CDRF_NOTIFYSUBITEMDRAW)
subitemstage = notify_customdraw(infoPtr, CDDS_SUBITEM | CDDS_ITEMPREPAINT, &nmlvcd);
- else
- {
- nmlvcd.clrTextBk = infoPtr->clrTextBk;
- nmlvcd.clrText = infoPtr->clrText;
- }
- if (subitems->nItem == 0 || (cdmode & CDRF_NOTIFYITEMDRAW))
- prepaint_setup(infoPtr, hdc, &nmlvcd, FALSE);
- else if (!(infoPtr->dwLvExStyle & LVS_EX_FULLROWSELECT))
- prepaint_setup(infoPtr, hdc, &nmlvcd, TRUE);
+ /*
+ * A selection should neither affect the colors in the post paint notification nor
+ * affect the colors of the next drawn subitem. Copy the structure to prevent this.
+ */
+ temp_nmlvcd = nmlvcd;
+ prepaint_setup(infoPtr, hdc, &temp_nmlvcd, subitems->nItem);
if (!(subitemstage & CDRF_SKIPDEFAULT))
- LISTVIEW_DrawItemPart(infoPtr, &lvItem, &nmlvcd, &pos);
+ LISTVIEW_DrawItemPart(infoPtr, &lvItem, &temp_nmlvcd, &pos);
if (subitemstage & CDRF_NOTIFYPOSTPAINT)
subitemstage = notify_customdraw(infoPtr, CDDS_SUBITEM | CDDS_ITEMPOSTPAINT, &nmlvcd);
diff --git a/dlls/comctl32/tests/listview.c b/dlls/comctl32/tests/listview.c
index ed5d9f9..64cc214 100644
--- a/dlls/comctl32/tests/listview.c
+++ b/dlls/comctl32/tests/listview.c
@@ -1823,14 +1823,18 @@ static LRESULT WINAPI cd_wndproc(HWND hwnd, UINT message, WPARAM wParam, LPARAM
clr = GetBkColor(nmlvcd->nmcd.hdc);
ok(nmlvcd->clrTextBk == CLR_DEFAULT, "got 0x%x\n", nmlvcd->clrTextBk);
ok(nmlvcd->clrText == RGB(0, 255, 0), "got 0x%x\n", nmlvcd->clrText);
- if (nmlvcd->iSubItem)
- todo_wine ok(clr == c0ffee, "clr=%.8x\n", clr);
- else
- ok(clr == c0ffee, "clr=%.8x\n", clr);
+ if (!(GetWindowLongW(nmhdr->hwndFrom, GWL_STYLE) & LVS_SHOWSELALWAYS))
+ {
+ if (nmlvcd->iSubItem)
+ todo_wine ok(clr == c0ffee, "clr=%.8x\n", clr);
+ else
+ ok(clr == c0ffee, "clr=%.8x\n", clr);
+ }
return CDRF_NOTIFYPOSTPAINT;
case CDDS_ITEMPOSTPAINT | CDDS_SUBITEM:
clr = GetBkColor(nmlvcd->nmcd.hdc);
- todo_wine ok(clr == c0ffee, "clr=%.8x\n", clr);
+ if (!(GetWindowLongW(nmhdr->hwndFrom, GWL_STYLE) & LVS_SHOWSELALWAYS))
+ todo_wine ok(clr == c0ffee, "clr=%.8x\n", clr);
ok(nmlvcd->clrTextBk == CLR_DEFAULT, "got 0x%x\n", nmlvcd->clrTextBk);
ok(nmlvcd->clrText == RGB(0, 255, 0), "got 0x%x\n", nmlvcd->clrText);
return CDRF_DODEFAULT;
@@ -1846,6 +1850,7 @@ static void test_customdraw(void)
{
HWND hwnd;
WNDPROC oldwndproc;
+ LVITEMA item;
hwnd = create_listview_control(LVS_REPORT);
@@ -1865,6 +1870,18 @@ static void test_customdraw(void)
UpdateWindow(hwnd);
ok_sequence(sequences, PARENT_CD_SEQ_INDEX, parent_report_cd_seq, "parent customdraw, LVS_REPORT", FALSE);
+ /* check colors when item is selected */
+ SetWindowLongW(hwnd, GWL_STYLE, GetWindowLongW(hwnd, GWL_STYLE) | LVS_SHOWSELALWAYS);
+ item.mask = LVIF_STATE;
+ item.stateMask = LVIS_SELECTED;
+ item.state = LVIS_SELECTED;
+ SendMessageA(hwnd, LVM_SETITEMSTATE, 0, (LPARAM)&item);
+
+ flush_sequences(sequences, NUM_MSG_SEQUENCES);
+ InvalidateRect(hwnd, NULL, TRUE);
+ UpdateWindow(hwnd);
+ ok_sequence(sequences, PARENT_CD_SEQ_INDEX, parent_report_cd_seq, "parent customdraw, LVS_REPORT, selection", FALSE);
+
DestroyWindow(hwnd);
hwnd = create_listview_control(LVS_LIST);
--
2.8.0

View File

@@ -0,0 +1 @@
Fixes: [38941] Preserve custom colors between subitems for listview control

View File

@@ -0,0 +1,24 @@
From 46a3f35c38aa4dcb9ca3101fc346fe44fa0d240d Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sun, 15 May 2016 17:30:35 +0200
Subject: d2d1/tests: Avoid test failure on specific Nvidia graphic cards.
---
dlls/d2d1/tests/d2d1.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/dlls/d2d1/tests/d2d1.c b/dlls/d2d1/tests/d2d1.c
index 7f9632f..0961373 100644
--- a/dlls/d2d1/tests/d2d1.c
+++ b/dlls/d2d1/tests/d2d1.c
@@ -1103,6 +1103,7 @@ static void test_bitmap_brush(void)
hr = ID2D1RenderTarget_EndDraw(rt, NULL, NULL);
ok(SUCCEEDED(hr), "Failed to end draw, hr %#x.\n", hr);
match = compare_surface(surface, "393636185359a550d459e1e5f0e25411814f724c");
+ todo_wine_if (compare_surface(surface, "f428a7d2f886e33a8be006a831fb38d88b235884"))
ok(match, "Surface does not match.\n");
ID2D1RenderTarget_BeginDraw(rt);
--
2.8.0

View File

@@ -1,4 +1,4 @@
From 4d175fa573da8103e76f59f93b528dc9d37c146d Mon Sep 17 00:00:00 2001
From 26a7497a9fb1184080a1622f6a834bed50d2a239 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Wed, 3 Jun 2015 22:57:21 +0200
Subject: winex11.drv: Allow changing the opengl pixel format on the desktop
@@ -11,15 +11,73 @@ window will fail because of this limitation. Unless someone comes up with
a more correct solution or finds an application that breaks because of this,
it seems to be a suitable workaround as it fixes multiple applications.
---
dlls/d3d9/tests/device.c | 16 ++++++++++++++++
dlls/winex11.drv/opengl.c | 5 ++++-
2 files changed, 20 insertions(+), 1 deletion(-)
dlls/d3d10_1/tests/d3d10_1.c | 14 ++++++++++++--
dlls/d3d11/tests/d3d11.c | 20 ++++++++++++++++----
dlls/d3d9/tests/device.c | 16 ++++++++++++++++
dlls/winex11.drv/opengl.c | 5 ++++-
4 files changed, 48 insertions(+), 7 deletions(-)
diff --git a/dlls/d3d10_1/tests/d3d10_1.c b/dlls/d3d10_1/tests/d3d10_1.c
index f5b1454..ac21f68 100644
--- a/dlls/d3d10_1/tests/d3d10_1.c
+++ b/dlls/d3d10_1/tests/d3d10_1.c
@@ -226,8 +226,18 @@ static void test_create_device(void)
hr = D3D10CreateDeviceAndSwapChain1(NULL, D3D10_DRIVER_TYPE_HARDWARE, NULL, 0,
supported_feature_level, D3D10_1_SDK_VERSION, &swapchain_desc, &swapchain, &device);
todo_wine ok(hr == DXGI_ERROR_INVALID_CALL, "D3D10CreateDeviceAndSwapChain1 returned %#x.\n", hr);
- ok(!swapchain, "Got unexpected swapchain pointer %p.\n", swapchain);
- ok(!device, "Got unexpected device pointer %p.\n", device);
+ if (SUCCEEDED(hr))
+ {
+ refcount = IDXGISwapChain_Release(swapchain);
+ ok(!refcount, "Swapchain has %u references left.\n", refcount);
+ refcount = ID3D10Device1_Release(device);
+ ok(!refcount, "Device has %u references left.\n", refcount);
+ }
+ else
+ {
+ ok(!swapchain, "Got unexpected swapchain pointer %p.\n", swapchain);
+ ok(!device, "Got unexpected device pointer %p.\n", device);
+ }
swapchain = (IDXGISwapChain *)0xdeadbeef;
device = (ID3D10Device1 *)0xdeadbeef;
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c
index 04a369c..ee506f5 100644
--- a/dlls/d3d11/tests/d3d11.c
+++ b/dlls/d3d11/tests/d3d11.c
@@ -805,10 +805,22 @@ static void test_create_device(void)
hr = D3D11CreateDeviceAndSwapChain(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, 0, NULL, 0, D3D11_SDK_VERSION,
&swapchain_desc, &swapchain, &device, &feature_level, &immediate_context);
todo_wine ok(hr == DXGI_ERROR_INVALID_CALL, "D3D11CreateDeviceAndSwapChain returned %#x.\n", hr);
- ok(!swapchain, "Got unexpected swapchain pointer %p.\n", swapchain);
- ok(!device, "Got unexpected device pointer %p.\n", device);
- ok(!feature_level, "Got unexpected feature level %#x.\n", feature_level);
- ok(!immediate_context, "Got unexpected immediate context pointer %p.\n", immediate_context);
+ if (SUCCEEDED(hr))
+ {
+ refcount = IDXGISwapChain_Release(swapchain);
+ ok(!refcount, "Swapchain has %u references left.\n", refcount);
+ refcount = ID3D11DeviceContext_Release(immediate_context);
+ ok(!refcount, "Immediate context has %u references left.\n", refcount);
+ refcount = ID3D11Device_Release(device);
+ ok(!refcount, "Device has %u references left.\n", refcount);
+ }
+ else
+ {
+ ok(!swapchain, "Got unexpected swapchain pointer %p.\n", swapchain);
+ ok(!device, "Got unexpected device pointer %p.\n", device);
+ ok(!feature_level, "Got unexpected feature level %#x.\n", feature_level);
+ ok(!immediate_context, "Got unexpected immediate context pointer %p.\n", immediate_context);
+ }
swapchain = (IDXGISwapChain *)0xdeadbeef;
device = (ID3D11Device *)0xdeadbeef;
diff --git a/dlls/d3d9/tests/device.c b/dlls/d3d9/tests/device.c
index e6edb00..5a75f3a 100644
index 4302f76..342f8d2 100644
--- a/dlls/d3d9/tests/device.c
+++ b/dlls/d3d9/tests/device.c
@@ -11049,6 +11049,21 @@ done:
@@ -11171,6 +11171,21 @@ static void test_get_render_target_data(void)
DestroyWindow(window);
}
@@ -41,19 +99,19 @@ index e6edb00..5a75f3a 100644
START_TEST(device)
{
WNDCLASSA wc = {0};
@@ -11164,6 +11179,7 @@ START_TEST(device)
test_swapchain_parameters();
@@ -11287,6 +11302,7 @@ START_TEST(device)
test_check_device_format();
test_miptree_layout();
test_get_render_target_data();
+ test_desktop_window();
UnregisterClassA("d3d9_test_wc", GetModuleHandleA(NULL));
}
diff --git a/dlls/winex11.drv/opengl.c b/dlls/winex11.drv/opengl.c
index ab29ce4..ce87d14 100644
index 0f7534e..613d1df 100644
--- a/dlls/winex11.drv/opengl.c
+++ b/dlls/winex11.drv/opengl.c
@@ -1454,12 +1454,15 @@ static BOOL set_pixel_format(HDC hdc, int format, BOOL allow_change)
@@ -1457,12 +1457,15 @@ static BOOL set_pixel_format(HDC hdc, int format, BOOL allow_change)
TRACE("(%p,%d)\n", hdc, format);
@@ -71,5 +129,5 @@ index ab29ce4..ce87d14 100644
if (!fmt)
{
--
2.7.1
2.8.0

View File

@@ -1 +0,0 @@
Category: stable

View File

@@ -0,0 +1,61 @@
From a568780e076f43ab5a7f07c4eb963e7777f84255 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sun, 15 May 2016 17:05:15 +0200
Subject: d3d9/tests: Avoid test failures on specific Nvidia graphic cards.
---
dlls/d3d9/tests/visual.c | 24 +++++++++++++-----------
1 file changed, 13 insertions(+), 11 deletions(-)
diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c
index a308311..c3de15e 100644
--- a/dlls/d3d9/tests/visual.c
+++ b/dlls/d3d9/tests/visual.c
@@ -14923,6 +14923,7 @@ static void fp_special_test(void)
D3DCOLOR nv40;
D3DCOLOR nv50;
D3DCOLOR warp;
+ D3DCOLOR todo;
}
vs_body[] =
{
@@ -14939,17 +14940,17 @@ static void fp_special_test(void)
* There are considerable differences between graphics cards in how
* these are handled, but pow and nrm never generate INF or NAN on
* real hardware. */
- {"log", vs_log, sizeof(vs_log), 0x00000000, 0x00000000, 0x00ff0000, 0x00ff7f00, 0x00ff8000},
- {"pow", vs_pow, sizeof(vs_pow), 0x000000ff, 0x000000ff, 0x0000ff00, 0x000000ff, 0x00008000},
- {"nrm", vs_nrm, sizeof(vs_nrm), 0x00ff0000, 0x00ff0000, 0x0000ff00, 0x00ff0000, 0x00008000},
- {"rcp1", vs_rcp1, sizeof(vs_rcp1), 0x000000ff, 0x000000ff, 0x00ff00ff, 0x00ff7f00, 0x00ff8000},
- {"rcp2", vs_rcp2, sizeof(vs_rcp2), 0x000000ff, 0x00000000, 0x00ff0000, 0x00ff7f00, 0x00ff8000},
- {"rsq1", vs_rsq1, sizeof(vs_rsq1), 0x000000ff, 0x000000ff, 0x00ff00ff, 0x00ff7f00, 0x00ff8000},
- {"rsq2", vs_rsq2, sizeof(vs_rsq2), 0x000000ff, 0x000000ff, 0x00ff00ff, 0x00ff7f00, 0x00ff8000},
- {"lit", vs_lit, sizeof(vs_lit), 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000},
- {"def1", vs_def1, sizeof(vs_def1), 0x000000ff, 0x00007f00, 0x0000ff00, 0x00007f00, 0x00008000},
- {"def2", vs_def2, sizeof(vs_def2), 0x00ff0000, 0x00ff7f00, 0x00ff0000, 0x00ff7f00, 0x00ff8000},
- {"def3", vs_def3, sizeof(vs_def3), 0x00ff00ff, 0x00ff7f00, 0x00ff00ff, 0x00ff7f00, 0x00ff8000},
+ {"log", vs_log, sizeof(vs_log), 0x00000000, 0x00000000, 0x00ff0000, 0x00ff7f00, 0x00ff8000, ~0U},
+ {"pow", vs_pow, sizeof(vs_pow), 0x000000ff, 0x000000ff, 0x0000ff00, 0x000000ff, 0x00008000, ~0U},
+ {"nrm", vs_nrm, sizeof(vs_nrm), 0x00ff0000, 0x00ff0000, 0x0000ff00, 0x00ff0000, 0x00008000, ~0U},
+ {"rcp1", vs_rcp1, sizeof(vs_rcp1), 0x000000ff, 0x000000ff, 0x00ff00ff, 0x00ff7f00, 0x00ff8000, 0x00ff0000},
+ {"rcp2", vs_rcp2, sizeof(vs_rcp2), 0x000000ff, 0x00000000, 0x00ff0000, 0x00ff7f00, 0x00ff8000, ~0U},
+ {"rsq1", vs_rsq1, sizeof(vs_rsq1), 0x000000ff, 0x000000ff, 0x00ff00ff, 0x00ff7f00, 0x00ff8000, 0x00ff0000},
+ {"rsq2", vs_rsq2, sizeof(vs_rsq2), 0x000000ff, 0x000000ff, 0x00ff00ff, 0x00ff7f00, 0x00ff8000, 0x00ff0000},
+ {"lit", vs_lit, sizeof(vs_lit), 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000, ~0U},
+ {"def1", vs_def1, sizeof(vs_def1), 0x000000ff, 0x00007f00, 0x0000ff00, 0x00007f00, 0x00008000, 0x00000000},
+ {"def2", vs_def2, sizeof(vs_def2), 0x00ff0000, 0x00ff7f00, 0x00ff0000, 0x00ff7f00, 0x00ff8000, ~0U},
+ {"def3", vs_def3, sizeof(vs_def3), 0x00ff00ff, 0x00ff7f00, 0x00ff00ff, 0x00ff7f00, 0x00ff8000, 0x00ff0000},
};
static const DWORD ps_code[] =
@@ -15068,6 +15069,7 @@ static void fp_special_test(void)
ok(SUCCEEDED(hr), "EndScene failed, hr %#x.\n", hr);
color = getPixelColor(device, 320, 240);
+ todo_wine_if(vs_body[i].todo != ~0U && color_match(color, vs_body[i].todo, 1))
ok(color_match(color, vs_body[i].r500, 1)
|| color_match(color, vs_body[i].r600, 1)
|| color_match(color, vs_body[i].nv40, 1)
--
2.8.0

View File

@@ -1,58 +0,0 @@
From 07b257223fda63414f00f3a658fcdce83a7991e4 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 14 Mar 2015 05:01:05 +0100
Subject: d3dx9_24: Add an interface wrapper for different version of
ID3DXEffect.
---
dlls/d3dx9_24/d3dx9_24.spec | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/dlls/d3dx9_24/d3dx9_24.spec b/dlls/d3dx9_24/d3dx9_24.spec
index cfe26ce..1ddf219 100644
--- a/dlls/d3dx9_24/d3dx9_24.spec
+++ b/dlls/d3dx9_24/d3dx9_24.spec
@@ -43,21 +43,21 @@
@ stdcall D3DXCreateCubeTextureFromResourceExW(ptr long long long long long long long long long long ptr ptr ptr) d3dx9_36.D3DXCreateCubeTextureFromResourceExW
@ stdcall D3DXCreateCubeTextureFromResourceW(ptr long ptr ptr) d3dx9_36.D3DXCreateCubeTextureFromResourceW
@ stdcall D3DXCreateCylinder(ptr long long long long long ptr ptr) d3dx9_36.D3DXCreateCylinder
-@ stdcall D3DXCreateEffect(ptr ptr long ptr ptr long ptr ptr ptr) d3dx9_36.D3DXCreateEffect
+@ stdcall D3DXCreateEffect(ptr ptr long ptr ptr long ptr ptr ptr) d3dx9_25.D3DXCreateEffect # don't forward
@ stdcall D3DXCreateEffectCompiler(ptr long ptr ptr long ptr ptr) d3dx9_36.D3DXCreateEffectCompiler
@ stdcall D3DXCreateEffectCompilerFromFileA(str ptr ptr long ptr ptr) d3dx9_36.D3DXCreateEffectCompilerFromFileA
@ stdcall D3DXCreateEffectCompilerFromFileW(wstr ptr ptr long ptr ptr) d3dx9_36.D3DXCreateEffectCompilerFromFileW
@ stdcall D3DXCreateEffectCompilerFromResourceA(long str ptr ptr long ptr ptr) d3dx9_36.D3DXCreateEffectCompilerFromResourceA
@ stdcall D3DXCreateEffectCompilerFromResourceW(long wstr ptr ptr long ptr ptr) d3dx9_36.D3DXCreateEffectCompilerFromResourceW
-@ stdcall D3DXCreateEffectEx(ptr ptr long ptr ptr str long ptr ptr ptr) d3dx9_36.D3DXCreateEffectEx
-@ stdcall D3DXCreateEffectFromFileA(ptr str ptr ptr long ptr ptr ptr) d3dx9_36.D3DXCreateEffectFromFileA
-@ stdcall D3DXCreateEffectFromFileExA(ptr str ptr ptr str long ptr ptr ptr) d3dx9_36.D3DXCreateEffectFromFileExA
-@ stdcall D3DXCreateEffectFromFileExW(ptr str ptr ptr str long ptr ptr ptr) d3dx9_36.D3DXCreateEffectFromFileExW
-@ stdcall D3DXCreateEffectFromFileW(ptr wstr ptr ptr long ptr ptr ptr) d3dx9_36.D3DXCreateEffectFromFileW
-@ stdcall D3DXCreateEffectFromResourceA(ptr long str ptr ptr long ptr ptr ptr) d3dx9_36.D3DXCreateEffectFromResourceA
-@ stdcall D3DXCreateEffectFromResourceExA(ptr long str ptr ptr str long ptr ptr ptr) d3dx9_36.D3DXCreateEffectFromResourceExA
-@ stdcall D3DXCreateEffectFromResourceExW(ptr long str ptr ptr str long ptr ptr ptr) d3dx9_36.D3DXCreateEffectFromResourceExW
-@ stdcall D3DXCreateEffectFromResourceW(ptr long wstr ptr ptr long ptr ptr ptr) d3dx9_36.D3DXCreateEffectFromResourceW
+@ stdcall D3DXCreateEffectEx(ptr ptr long ptr ptr str long ptr ptr ptr) d3dx9_25.D3DXCreateEffectEx # don't forward
+@ stdcall D3DXCreateEffectFromFileA(ptr str ptr ptr long ptr ptr ptr) d3dx9_25.D3DXCreateEffectFromFileA # don't forward
+@ stdcall D3DXCreateEffectFromFileExA(ptr str ptr ptr str long ptr ptr ptr) d3dx9_25.D3DXCreateEffectFromFileExA # don't forward
+@ stdcall D3DXCreateEffectFromFileExW(ptr str ptr ptr str long ptr ptr ptr) d3dx9_25.D3DXCreateEffectFromFileExW # don't forward
+@ stdcall D3DXCreateEffectFromFileW(ptr wstr ptr ptr long ptr ptr ptr) d3dx9_25.D3DXCreateEffectFromFileW # don't forward
+@ stdcall D3DXCreateEffectFromResourceA(ptr long str ptr ptr long ptr ptr ptr) d3dx9_25.D3DXCreateEffectFromResourceA # don't forward
+@ stdcall D3DXCreateEffectFromResourceExA(ptr long str ptr ptr str long ptr ptr ptr) d3dx9_25.D3DXCreateEffectFromResourceExA # don't forward
+@ stdcall D3DXCreateEffectFromResourceExW(ptr long str ptr ptr str long ptr ptr ptr) d3dx9_25.D3DXCreateEffectFromResourceExW # don't forward
+@ stdcall D3DXCreateEffectFromResourceW(ptr long wstr ptr ptr long ptr ptr ptr) d3dx9_25.D3DXCreateEffectFromResourceW # don't forward
@ stdcall D3DXCreateEffectPool(ptr) d3dx9_36.D3DXCreateEffectPool
@ stdcall D3DXCreateFontA(ptr long long long long long long long long long str ptr) d3dx9_36.D3DXCreateFontA
@ stdcall D3DXCreateFontIndirectA(ptr ptr ptr) d3dx9_36.D3DXCreateFontIndirectA
@@ -115,7 +115,7 @@
@ stdcall D3DXCreateVolumeTextureFromResourceW(ptr long ptr ptr) d3dx9_36.D3DXCreateVolumeTextureFromResourceW
@ stdcall D3DXDebugMute(long) d3dx9_36.D3DXDebugMute
@ stdcall D3DXDeclaratorFromFVF(long ptr) d3dx9_36.D3DXDeclaratorFromFVF
-@ stdcall D3DXDisassembleEffect(ptr long ptr) d3dx9_36.D3DXDisassembleEffect
+@ stdcall D3DXDisassembleEffect(ptr long ptr) d3dx9_25.D3DXDisassembleEffect # don't forward
@ stdcall D3DXDisassembleShader(ptr long str ptr) d3dx9_36.D3DXDisassembleShader
@ stdcall D3DXFileCreate(ptr) d3dx9_36.D3DXFileCreate
@ stdcall D3DXFillCubeTexture(ptr ptr ptr) d3dx9_36.D3DXFillCubeTexture
--
2.6.4

View File

@@ -1,3 +0,0 @@
Fixes: Fix wrong version of ID3DXEffect interface for d3dx9_24
Depends: d3dx9_25-ID3DXEffect
Category: stable

View File

@@ -0,0 +1,237 @@
From d1229f450e5b7f7cdda6654010c520dc79f7951a Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 14 Mar 2015 04:48:38 +0100
Subject: d3dx9_*: Adjust ID3DXEffect interface based on DLL version.
---
dlls/d3dx9_24/Makefile.in | 1 +
dlls/d3dx9_25/Makefile.in | 1 +
dlls/d3dx9_26/Makefile.in | 1 +
dlls/d3dx9_27/Makefile.in | 1 +
dlls/d3dx9_28/Makefile.in | 1 +
dlls/d3dx9_29/Makefile.in | 1 +
dlls/d3dx9_30/Makefile.in | 1 +
dlls/d3dx9_31/Makefile.in | 1 +
dlls/d3dx9_32/Makefile.in | 1 +
dlls/d3dx9_33/Makefile.in | 1 +
dlls/d3dx9_36/Makefile.in | 1 +
dlls/d3dx9_36/effect.c | 8 ++++++++
include/d3dx9effect.h | 12 ++++++++++++
13 files changed, 31 insertions(+)
diff --git a/dlls/d3dx9_24/Makefile.in b/dlls/d3dx9_24/Makefile.in
index 71dee7f..7464bd1 100644
--- a/dlls/d3dx9_24/Makefile.in
+++ b/dlls/d3dx9_24/Makefile.in
@@ -1,5 +1,6 @@
MODULE = d3dx9_24.dll
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+EXTRADEFS = -D_D3DX9_VER=24
PARENTSRC = ../d3dx9_36
C_SRCS = \
diff --git a/dlls/d3dx9_25/Makefile.in b/dlls/d3dx9_25/Makefile.in
index 9b44be8..1531e66 100644
--- a/dlls/d3dx9_25/Makefile.in
+++ b/dlls/d3dx9_25/Makefile.in
@@ -1,5 +1,6 @@
MODULE = d3dx9_25.dll
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+EXTRADEFS = -D_D3DX9_VER=25
PARENTSRC = ../d3dx9_36
C_SRCS = \
diff --git a/dlls/d3dx9_26/Makefile.in b/dlls/d3dx9_26/Makefile.in
index 14a52d1..2a58c58 100644
--- a/dlls/d3dx9_26/Makefile.in
+++ b/dlls/d3dx9_26/Makefile.in
@@ -1,5 +1,6 @@
MODULE = d3dx9_26.dll
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+EXTRADEFS = -D_D3DX9_VER=26
PARENTSRC = ../d3dx9_36
C_SRCS = \
diff --git a/dlls/d3dx9_27/Makefile.in b/dlls/d3dx9_27/Makefile.in
index b2784fc..9ba1e2a 100644
--- a/dlls/d3dx9_27/Makefile.in
+++ b/dlls/d3dx9_27/Makefile.in
@@ -1,5 +1,6 @@
MODULE = d3dx9_27.dll
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+EXTRADEFS = -D_D3DX9_VER=27
PARENTSRC = ../d3dx9_36
C_SRCS = \
diff --git a/dlls/d3dx9_28/Makefile.in b/dlls/d3dx9_28/Makefile.in
index f6b31d6..15dec71 100644
--- a/dlls/d3dx9_28/Makefile.in
+++ b/dlls/d3dx9_28/Makefile.in
@@ -1,5 +1,6 @@
MODULE = d3dx9_28.dll
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+EXTRADEFS = -D_D3DX9_VER=28
PARENTSRC = ../d3dx9_36
C_SRCS = \
diff --git a/dlls/d3dx9_29/Makefile.in b/dlls/d3dx9_29/Makefile.in
index 9bd84be..5a5a8fc 100644
--- a/dlls/d3dx9_29/Makefile.in
+++ b/dlls/d3dx9_29/Makefile.in
@@ -1,5 +1,6 @@
MODULE = d3dx9_29.dll
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+EXTRADEFS = -D_D3DX9_VER=29
PARENTSRC = ../d3dx9_36
C_SRCS = \
diff --git a/dlls/d3dx9_30/Makefile.in b/dlls/d3dx9_30/Makefile.in
index a8ee15d..bafcdb4 100644
--- a/dlls/d3dx9_30/Makefile.in
+++ b/dlls/d3dx9_30/Makefile.in
@@ -1,5 +1,6 @@
MODULE = d3dx9_30.dll
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+EXTRADEFS = -D_D3DX9_VER=30
PARENTSRC = ../d3dx9_36
C_SRCS = \
diff --git a/dlls/d3dx9_31/Makefile.in b/dlls/d3dx9_31/Makefile.in
index 27bd337..f5df4d8 100644
--- a/dlls/d3dx9_31/Makefile.in
+++ b/dlls/d3dx9_31/Makefile.in
@@ -1,5 +1,6 @@
MODULE = d3dx9_31.dll
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+EXTRADEFS = -D_D3DX9_VER=31
PARENTSRC = ../d3dx9_36
C_SRCS = \
diff --git a/dlls/d3dx9_32/Makefile.in b/dlls/d3dx9_32/Makefile.in
index 1229c7f..cce9293 100644
--- a/dlls/d3dx9_32/Makefile.in
+++ b/dlls/d3dx9_32/Makefile.in
@@ -1,5 +1,6 @@
MODULE = d3dx9_32.dll
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+EXTRADEFS = -D_D3DX9_VER=32
PARENTSRC = ../d3dx9_36
C_SRCS = \
diff --git a/dlls/d3dx9_33/Makefile.in b/dlls/d3dx9_33/Makefile.in
index 44bd991..c9b6587 100644
--- a/dlls/d3dx9_33/Makefile.in
+++ b/dlls/d3dx9_33/Makefile.in
@@ -1,5 +1,6 @@
MODULE = d3dx9_33.dll
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+EXTRADEFS = -D_D3DX9_VER=33
PARENTSRC = ../d3dx9_36
C_SRCS = \
diff --git a/dlls/d3dx9_36/Makefile.in b/dlls/d3dx9_36/Makefile.in
index 83f7d1c..24ce09d 100644
--- a/dlls/d3dx9_36/Makefile.in
+++ b/dlls/d3dx9_36/Makefile.in
@@ -1,6 +1,7 @@
MODULE = d3dx9_36.dll
IMPORTLIB = d3dx9
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+EXTRADEFS = -D_D3DX9_VER=36
C_SRCS = \
animation.c \
diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c
index fd8d59e..5b140fe 100644
--- a/dlls/d3dx9_36/effect.c
+++ b/dlls/d3dx9_36/effect.c
@@ -3888,6 +3888,7 @@ static HRESULT WINAPI ID3DXEffectImpl_ApplyParameterBlock(ID3DXEffect* iface, D3
return E_NOTIMPL;
}
+#if _D3DX9_VER >= 26
static HRESULT WINAPI ID3DXEffectImpl_DeleteParameterBlock(ID3DXEffect* iface, D3DXHANDLE parameter_block)
{
struct ID3DXEffectImpl *This = impl_from_ID3DXEffect(iface);
@@ -3896,6 +3897,7 @@ static HRESULT WINAPI ID3DXEffectImpl_DeleteParameterBlock(ID3DXEffect* iface, D
return E_NOTIMPL;
}
+#endif
static HRESULT WINAPI ID3DXEffectImpl_CloneEffect(ID3DXEffect *iface,
struct IDirect3DDevice9 *device, struct ID3DXEffect **effect)
@@ -3907,6 +3909,7 @@ static HRESULT WINAPI ID3DXEffectImpl_CloneEffect(ID3DXEffect *iface,
return E_NOTIMPL;
}
+#if _D3DX9_VER >= 27
static HRESULT WINAPI ID3DXEffectImpl_SetRawValue(ID3DXEffect *iface,
D3DXHANDLE parameter, const void *data, UINT byte_offset, UINT bytes)
{
@@ -3915,6 +3918,7 @@ static HRESULT WINAPI ID3DXEffectImpl_SetRawValue(ID3DXEffect *iface,
return E_NOTIMPL;
}
+#endif
static const struct ID3DXEffectVtbl ID3DXEffect_Vtbl =
{
@@ -3997,9 +4001,13 @@ static const struct ID3DXEffectVtbl ID3DXEffect_Vtbl =
ID3DXEffectImpl_BeginParameterBlock,
ID3DXEffectImpl_EndParameterBlock,
ID3DXEffectImpl_ApplyParameterBlock,
+#if _D3DX9_VER >= 26
ID3DXEffectImpl_DeleteParameterBlock,
+#endif
ID3DXEffectImpl_CloneEffect,
+#if _D3DX9_VER >= 27
ID3DXEffectImpl_SetRawValue
+#endif
};
static inline struct ID3DXEffectCompilerImpl *impl_from_ID3DXEffectCompiler(ID3DXEffectCompiler *iface)
diff --git a/include/d3dx9effect.h b/include/d3dx9effect.h
index 3f527ed..b8259e4 100644
--- a/include/d3dx9effect.h
+++ b/include/d3dx9effect.h
@@ -1,5 +1,6 @@
/*
* Copyright 2010 Christian Costa
+ * Copyright 2015 Sebastian Lackner
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -197,7 +198,13 @@ DECLARE_INTERFACE_(ID3DXEffectStateManager, IUnknown)
typedef struct ID3DXEffect *LPD3DXEFFECT;
+#if defined(_D3DX9_VER) && _D3DX9_VER <= 25
+DEFINE_GUID(IID_ID3DXEffect, 0xd165ccb1, 0x62b0, 0x4a33, 0xb3, 0xfa, 0xa9, 0x23, 0x0, 0x30, 0x5a, 0x11);
+#elif defined(_D3DX9_VER) && _D3DX9_VER == 26
+DEFINE_GUID(IID_ID3DXEffect, 0xc7b17651, 0x5420, 0x490e, 0x8a, 0x7f, 0x92, 0x36, 0x75, 0xa2, 0xd6, 0x87);
+#else
DEFINE_GUID(IID_ID3DXEffect, 0xf6ceb4b3, 0x4e4c, 0x40dd, 0xb8, 0x83, 0x8d, 0x8d, 0xe5, 0xea, 0xc, 0xd5);
+#endif
#define INTERFACE ID3DXEffect
@@ -282,10 +289,15 @@ DECLARE_INTERFACE_(ID3DXEffect, ID3DXBaseEffect)
STDMETHOD(BeginParameterBlock)(THIS) PURE;
STDMETHOD_(D3DXHANDLE, EndParameterBlock)(THIS) PURE;
STDMETHOD(ApplyParameterBlock)(THIS_ D3DXHANDLE parameter_block) PURE;
+#if !defined(_D3DX9_VER) || _D3DX9_VER >= 26
STDMETHOD(DeleteParameterBlock)(THIS_ D3DXHANDLE parameter_block) PURE;
+#endif
STDMETHOD(CloneEffect)(THIS_ struct IDirect3DDevice9 *device, struct ID3DXEffect **effect) PURE;
+#if !defined(_D3DX9_VER) || _D3DX9_VER >= 27
STDMETHOD(SetRawValue)(THIS_ D3DXHANDLE parameter, const void *data, UINT byte_offset, UINT bytes) PURE;
+#endif
};
+
#undef INTERFACE
typedef struct ID3DXEffectCompiler *LPD3DXEFFECTCOMPILER;
--
2.8.0

View File

@@ -1,2 +1,2 @@
Fixes: [25138] Fix wrong version of ID3DXEffect interface for d3dx9_25
Category: stable
Fixes: Fix wrong version of ID3DXEffect interface for d3dx9_24

View File

@@ -1,38 +0,0 @@
From 95470685fda5c2e5e74c88d2d689159c3af478e8 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 14 Mar 2015 17:00:08 +0100
Subject: d3dx9_36: Allow to query for d3dx9_26 specific ID3DXEffect interface.
---
dlls/d3dx9_36/effect.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c
index 8f82784..384af3f 100644
--- a/dlls/d3dx9_36/effect.c
+++ b/dlls/d3dx9_36/effect.c
@@ -22,6 +22,11 @@
#include "d3dx9_private.h"
#include "d3dcompiler.h"
+#include "initguid.h"
+
+/* d3dx9_26 provides an ID3DXEffect interface where the last function SetRawValue
+ * is missing. Since its otherwise identical, we just use the same vtable. */
+DEFINE_GUID(IID_ID3DXEffect26, 0xc7b17651, 0x5420, 0x490e, 0x8a, 0x7f, 0x92, 0x36, 0x75, 0xa2, 0xd6, 0x87);
/* Constants for special INT/FLOAT conversation */
#define INT_FLOAT_MULTI 255.0f
@@ -2862,7 +2867,8 @@ static HRESULT WINAPI ID3DXEffectImpl_QueryInterface(ID3DXEffect *iface, REFIID
TRACE("(%p)->(%s, %p)\n", iface, debugstr_guid(riid), object);
if (IsEqualGUID(riid, &IID_IUnknown) ||
- IsEqualGUID(riid, &IID_ID3DXEffect))
+ IsEqualGUID(riid, &IID_ID3DXEffect) ||
+ IsEqualGUID(riid, &IID_ID3DXEffect26))
{
iface->lpVtbl->AddRef(iface);
*object = iface;
--
2.7.1

View File

@@ -1 +0,0 @@
Category: stable

View File

@@ -1,4 +0,0 @@
Fixes: [21817] Share source of d3dx9_36 with d3dx9_33 to avoid Wine DLL forwards
Apply-After: dlls/d3dx9_33/*
Depends: d3dx9_36-D3DXStubs
Depends: d3dx9_36-DXTn

View File

@@ -0,0 +1,51 @@
From 5bd7e977e0145a8e222ab66676bed7c0ff4d5b44 Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Mon, 16 May 2016 13:19:06 +0200
Subject: d3dx9_36: Recognize bump luminance X8L8V8U8 when loading dds file.
---
dlls/d3dx9_36/surface.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/dlls/d3dx9_36/surface.c b/dlls/d3dx9_36/surface.c
index 1bfe75a..f670860 100644
--- a/dlls/d3dx9_36/surface.c
+++ b/dlls/d3dx9_36/surface.c
@@ -110,6 +110,7 @@ static const GUID *d3dformat_to_wic_guid(D3DFORMAT format)
#define DDS_PF_RGB 0x40
#define DDS_PF_YUV 0x200
#define DDS_PF_LUMINANCE 0x20000
+#define DDS_PF_BUMPLUMINANCE 0x40000
#define DDS_PF_BUMPDUDV 0x80000
struct dds_pixel_format
@@ -265,6 +266,17 @@ static D3DFORMAT dds_bump_to_d3dformat(const struct dds_pixel_format *pixel_form
return D3DFMT_UNKNOWN;
}
+static D3DFORMAT dds_bump_luminance_to_d3dformat(const struct dds_pixel_format *pixel_format)
+{
+ if (pixel_format->bpp == 32 && pixel_format->rmask == 0x000000ff && pixel_format->gmask == 0x0000ff00
+ && pixel_format->bmask == 0x00ff0000)
+ return D3DFMT_X8L8V8U8;
+
+ WARN("Unknown bump pixel format (%u, %#x, %#x, %#x, %#x)\n", pixel_format->bpp,
+ pixel_format->rmask, pixel_format->gmask, pixel_format->bmask, pixel_format->amask);
+ return D3DFMT_UNKNOWN;
+}
+
static D3DFORMAT dds_pixel_format_to_d3dformat(const struct dds_pixel_format *pixel_format)
{
TRACE("pixel_format: size %u, flags %#x, fourcc %#x, bpp %u.\n", pixel_format->size,
@@ -282,6 +294,8 @@ static D3DFORMAT dds_pixel_format_to_d3dformat(const struct dds_pixel_format *pi
return dds_alpha_to_d3dformat(pixel_format);
if (pixel_format->flags & DDS_PF_BUMPDUDV)
return dds_bump_to_d3dformat(pixel_format);
+ if (pixel_format->flags & DDS_PF_BUMPLUMINANCE)
+ return dds_bump_luminance_to_d3dformat(pixel_format);
WARN("Unknown pixel format (flags %#x, fourcc %#x, bpp %u, r %#x, g %#x, b %#x, a %#x)\n",
pixel_format->flags, pixel_format->fourcc, pixel_format->bpp,
--
2.8.0

View File

@@ -0,0 +1,24 @@
From 170a6d9df910f617585791df31aa72b79622ed0b Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Mon, 16 May 2016 13:20:39 +0200
Subject: d3dx9_36: Add format description for X8L8V8U8 for format conversions.
---
dlls/d3dx9_36/util.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/dlls/d3dx9_36/util.c b/dlls/d3dx9_36/util.c
index d8cd43a..12b9c2c 100644
--- a/dlls/d3dx9_36/util.c
+++ b/dlls/d3dx9_36/util.c
@@ -90,6 +90,7 @@ static const struct pixel_format_desc formats[] =
{D3DFMT_G32R32F, { 0, 32, 32, 0}, { 0, 0, 32, 0}, 8, 1, 1, 8, FORMAT_ARGBF, NULL, NULL },
{D3DFMT_A32B32G32R32F, {32, 32, 32, 32}, {96, 0, 32, 64}, 16, 1, 1, 16, FORMAT_ARGBF, NULL, NULL },
{D3DFMT_P8, { 8, 8, 8, 8}, { 0, 0, 0, 0}, 1, 1, 1, 1, FORMAT_INDEX, NULL, index_to_rgba},
+ {D3DFMT_X8L8V8U8, { 0, 8, 8, 8}, { 0, 0, 8, 16}, 4, 1, 1, 4, FORMAT_ARGB, NULL, NULL },
/* marks last element */
{D3DFMT_UNKNOWN, { 0, 0, 0, 0}, { 0, 0, 0, 0}, 0, 1, 1, 0, FORMAT_UNKNOWN, NULL, NULL },
};
--
2.8.0

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