You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Compare commits
56 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
525b5f5dd3 | ||
|
8c880d262f | ||
|
d1451cd34f | ||
|
b0cf640a90 | ||
|
8751f075a1 | ||
|
2f3d51e7f4 | ||
|
d7d95ca4b6 | ||
|
e2c1e62662 | ||
|
c5f0106cd6 | ||
|
483cf18923 | ||
|
dab39259ab | ||
|
5ee34a9309 | ||
|
468a035b3e | ||
|
486c1d6f46 | ||
|
0958d303e9 | ||
|
a526f3eb07 | ||
|
42b6978464 | ||
|
5fe90fc2e8 | ||
|
1c4a8d2f9a | ||
|
6308175bc4 | ||
|
7a53f1fbc5 | ||
|
014ef86645 | ||
|
2dd6d5e049 | ||
|
0486bc809f | ||
|
de8e8a4079 | ||
|
20286952db | ||
|
17a3d8c2ea | ||
|
9fd51f90ef | ||
|
d807c55e94 | ||
|
88f4c9ec57 | ||
|
aa51a47238 | ||
|
ec4e719cd6 | ||
|
547d1a988d | ||
|
d57ae8c150 | ||
|
0c660b9e3a | ||
|
ea89242465 | ||
|
f1f051f491 | ||
|
de15f131bc | ||
|
48b14fe20b | ||
|
dfd778f392 | ||
|
74f4207916 | ||
|
4bfaa67fea | ||
|
70c01d5385 | ||
|
e759eff059 | ||
|
c9e146259d | ||
|
3c7f5898c0 | ||
|
5b7dc79ea0 | ||
|
8c17307f95 | ||
|
513ca1f4ba | ||
|
28ddd8d7d5 | ||
|
4b41a20552 | ||
|
82b52e11c3 | ||
|
538f3aaaea | ||
|
ffdcf51981 | ||
|
a812ef647e | ||
|
0b477b3ef1 |
19
README.md
19
README.md
@@ -38,7 +38,7 @@ Wine. All those differences are also documented on the
|
||||
Included bug fixes and improvements
|
||||
===================================
|
||||
|
||||
**Bugs fixed in Wine Staging 1.7.38 [190]:**
|
||||
**Bugs fixed in Wine Staging 1.7.39 [205]:**
|
||||
|
||||
* Add Dynamic DST exceptions for Israel Standard Time ([Wine Bug #36374](https://bugs.winehq.org/show_bug.cgi?id=36374))
|
||||
* Add default ACLs for user shell folders
|
||||
@@ -51,12 +51,14 @@ Included bug fixes and improvements
|
||||
* Add stub for D3DXComputeTangentFrameEx ([Wine Bug #31984](https://bugs.winehq.org/show_bug.cgi?id=31984))
|
||||
* Add stub for D3DXIntersect
|
||||
* Add stub for NtSetLdtEntries/ZwSetLdtEntries ([Wine Bug #26268](https://bugs.winehq.org/show_bug.cgi?id=26268))
|
||||
* Add stub for PowerCreateRequest
|
||||
* Add stub for gdiplus.GdipCreateEffect ([Wine Bug #32163](https://bugs.winehq.org/show_bug.cgi?id=32163))
|
||||
* Add stub for ntoskrnl.ExAcquireResourceExclusiveLite
|
||||
* Add stub for ntoskrnl.ExDeleteResourceLite
|
||||
* Add stub for ntoskrnl.ExReleaseResourceForThread
|
||||
* Add stub for ntoskrnl.KeWaitForMultipleObjects
|
||||
* Add stub for ntoskrnl.Mm{Map,Unmap}LockedPages
|
||||
* Add stub for wininet.ParseX509EncodedCertificateForListBoxEntry ([Wine Bug #29842](https://bugs.winehq.org/show_bug.cgi?id=29842))
|
||||
* Add stubs for D3DXCreateAnimationController interface
|
||||
* Add support for CopyFileEx progress callback ([Wine Bug #22692](https://bugs.winehq.org/show_bug.cgi?id=22692))
|
||||
* Add support for GetPropValue to PulseAudio backend
|
||||
@@ -64,6 +66,7 @@ Included bug fixes and improvements
|
||||
* Allow selection of audio device for PulseAudio backend
|
||||
* Allow special characters in pipe names ([Wine Bug #28995](https://bugs.winehq.org/show_bug.cgi?id=28995))
|
||||
* Allow to cancel a file operation via progress callback ([Wine Bug #22690](https://bugs.winehq.org/show_bug.cgi?id=22690))
|
||||
* Allow to edit winecfg library override by double clicking
|
||||
* Allow to override number of quality levels for D3DMULTISAMPLE_NONMASKABLE. ([Wine Bug #12652](https://bugs.winehq.org/show_bug.cgi?id=12652))
|
||||
* Anno 1602 installer depends on Windows 98 behavior of SHFileOperationW ([Wine Bug #37916](https://bugs.winehq.org/show_bug.cgi?id=37916))
|
||||
* Audio stuttering and performance drops in multiple applications ([Wine Bug #30639](https://bugs.winehq.org/show_bug.cgi?id=30639))
|
||||
@@ -94,6 +97,7 @@ Included bug fixes and improvements
|
||||
* Fix NULL dereference in ICSeqCompressFrameStart ([Wine Bug #27595](https://bugs.winehq.org/show_bug.cgi?id=27595))
|
||||
* Fix access violation when calling GetStringTypeW with NULL src. ([Wine Bug #37759](https://bugs.winehq.org/show_bug.cgi?id=37759))
|
||||
* Fix black screen on startup introduced by pixelformat changes. ([Wine Bug #35950](https://bugs.winehq.org/show_bug.cgi?id=35950))
|
||||
* Fix caps lock state issues with multiple processes ([Wine Bug #35907](https://bugs.winehq.org/show_bug.cgi?id=35907))
|
||||
* Fix check for end_frame in RtlUnwindEx on x86_64. ([Wine Bug #34254](https://bugs.winehq.org/show_bug.cgi?id=34254))
|
||||
* Fix comparison of punctuation characters in lstrcmp ([Wine Bug #10767](https://bugs.winehq.org/show_bug.cgi?id=10767))
|
||||
* Fix condition mask handling in RtlVerifyVersionInfo ([Wine Bug #36143](https://bugs.winehq.org/show_bug.cgi?id=36143))
|
||||
@@ -112,15 +116,21 @@ Included bug fixes and improvements
|
||||
* Fix handling of window attributes for WS_EX_LAYERED | WS_EX_COMPOSITED ([Wine Bug #37876](https://bugs.winehq.org/show_bug.cgi?id=37876))
|
||||
* Fix issues with dragging layers between images in Adobe Photoshop 7.0 ([Wine Bug #12007](https://bugs.winehq.org/show_bug.cgi?id=12007))
|
||||
* Fix missing video introduced by pixelformat changes. ([Wine Bug #36900](https://bugs.winehq.org/show_bug.cgi?id=36900))
|
||||
* Fix multithreading issues with fullscreen clipping ([Wine Bug #38087](https://bugs.winehq.org/show_bug.cgi?id=38087))
|
||||
* Fix possible segfault in pulse_rd_loop of PulseAudio backend
|
||||
* Fix race-condition when threads are killed during shutdown
|
||||
* Fix regression causing black screen on startup ([Wine Bug #38248](https://bugs.winehq.org/show_bug.cgi?id=38248))
|
||||
* Fix regression causing too dark/missing textures in several games ([Wine Bug #38256](https://bugs.winehq.org/show_bug.cgi?id=38256))
|
||||
* Fix return value of ScrollWindowEx for invisible windows ([Wine Bug #37706](https://bugs.winehq.org/show_bug.cgi?id=37706))
|
||||
* Fix texture corruption in CSI: Fatal Conspiracy ([Wine Bug #33768](https://bugs.winehq.org/show_bug.cgi?id=33768))
|
||||
* Fix unintentional leaks with ntdll internals
|
||||
* Fix wined3d performance drop introduced by pixelformat changes. ([Wine Bug #35655](https://bugs.winehq.org/show_bug.cgi?id=35655))
|
||||
* Fix wrong colors in Wolfenstein (2009) ([Wine Bug #34692](https://bugs.winehq.org/show_bug.cgi?id=34692))
|
||||
* Fix wrong defition of ntoskrnl.IoReleaseCancelSpinLock function.
|
||||
* Fix wrong version of ID3DXEffect interface for d3dx9_24
|
||||
* Fix wrong version of ID3DXEffect interface for d3dx9_25 ([Wine Bug #25138](https://bugs.winehq.org/show_bug.cgi?id=25138))
|
||||
* Games For Windows Live 1.x expects a valid linker version in the PE header ([Wine Bug #28768](https://bugs.winehq.org/show_bug.cgi?id=28768))
|
||||
* GetMessage should remove already seen messages with higher priority ([Wine Bug #28884](https://bugs.winehq.org/show_bug.cgi?id=28884))
|
||||
* GetMonitorInfo returns the same name for all monitors ([Wine Bug #37709](https://bugs.winehq.org/show_bug.cgi?id=37709))
|
||||
* GetSecurityInfo returns NULL DACL for process object ([Wine Bug #15980](https://bugs.winehq.org/show_bug.cgi?id=15980))
|
||||
* Graphical issues in Inquisitor ([Wine Bug #32490](https://bugs.winehq.org/show_bug.cgi?id=32490))
|
||||
@@ -132,10 +142,13 @@ Included bug fixes and improvements
|
||||
* Implement ID3DXEffect::FindNextValidTechnique ([Wine Bug #34101](https://bugs.winehq.org/show_bug.cgi?id=34101))
|
||||
* Implement IDXGIOutput::GetDesc
|
||||
* Implement SetFileInformationByHandle
|
||||
* Implement SetupLogError[A|W] and Setup[Open|Close]Log
|
||||
* Implement a Microsoft Yahei replacement font ([Wine Bug #13829](https://bugs.winehq.org/show_bug.cgi?id=13829))
|
||||
* Implement additional stubs for vcomp dlls ([Wine Bug #31640](https://bugs.winehq.org/show_bug.cgi?id=31640))
|
||||
* Implement an Arial replacement font ([Wine Bug #32323](https://bugs.winehq.org/show_bug.cgi?id=32323))
|
||||
* Implement combase.WindowsSubstring function
|
||||
* Implement exclusive mode in PulseAudio backend ([Wine Bug #37042](https://bugs.winehq.org/show_bug.cgi?id=37042))
|
||||
* Implement locking and synchronization of key states ([Wine Bug #31899](https://bugs.winehq.org/show_bug.cgi?id=31899))
|
||||
* Implement ntoskrnl driver testing framework.
|
||||
* Implement ntoskrnl.KeInitializeMutex
|
||||
* Implement stub for ntoskrnl.IoGetAttachedDeviceReference
|
||||
@@ -146,10 +159,12 @@ Included bug fixes and improvements
|
||||
* Implement threadpool wait objects
|
||||
* Implement threadpool work items ([Wine Bug #32531](https://bugs.winehq.org/show_bug.cgi?id=32531))
|
||||
* Improve stub for AEV_GetVolumeRange ([Wine Bug #35658](https://bugs.winehq.org/show_bug.cgi?id=35658))
|
||||
* Improve stub for ID3DXEffectImpl_CloneEffect
|
||||
* Improve stubs for AEV_{Get,Set}MasterVolumeLevel
|
||||
* Improve stubs for AEV_{Get,Set}Mute
|
||||
* Improvement for heap allocation performance
|
||||
* Increase wineconsole commandline buffer size ([Wine Bug #34814](https://bugs.winehq.org/show_bug.cgi?id=34814))
|
||||
* Invalidate key state cache globally after calling LL hooks ([Wine Bug #29871](https://bugs.winehq.org/show_bug.cgi?id=29871))
|
||||
* Jedi Knight: Dark Forces II crashes with winmm set to native ([Wine Bug #37983](https://bugs.winehq.org/show_bug.cgi?id=37983))
|
||||
* Lego Stunt Rally requires DXTn software de/encoding support ([Wine Bug #25486](https://bugs.winehq.org/show_bug.cgi?id=25486))
|
||||
* Lockfree algorithm for filedescriptor cache (improves file access speed)
|
||||
@@ -166,6 +181,7 @@ Included bug fixes and improvements
|
||||
* Process APC calls before starting process
|
||||
* Process Hacker 2.x needs ntoskrnl.ProbeForRead ([Wine Bug #38103](https://bugs.winehq.org/show_bug.cgi?id=38103))
|
||||
* Properly track handle count of wineserver objects
|
||||
* Python PIP needs better NtQueryInformationJobObject stub
|
||||
* Reduced SetTimer minimum value from 10 ms to 5 ms (improves Silverlight framerates)
|
||||
* Return an error when trying to open a terminated process ([Wine Bug #37087](https://bugs.winehq.org/show_bug.cgi?id=37087))
|
||||
* Return correct IMediaSeeking stream positions in quartz ([Wine Bug #23174](https://bugs.winehq.org/show_bug.cgi?id=23174))
|
||||
@@ -204,7 +220,6 @@ Included bug fixes and improvements
|
||||
* Support for PulseAudio backend for audio ([Wine Bug #10495](https://bugs.winehq.org/show_bug.cgi?id=10495))
|
||||
* Support for RtlDecompressBuffer ([Wine Bug #37449](https://bugs.winehq.org/show_bug.cgi?id=37449))
|
||||
* Support for SHCreateSessionKey ([Wine Bug #35630](https://bugs.winehq.org/show_bug.cgi?id=35630))
|
||||
* Support for SLGetWindowsInformationDWORD ([Wine Bug #36709](https://bugs.winehq.org/show_bug.cgi?id=36709))
|
||||
* Support for TOOLTIPS_GetTipText edge cases ([Wine Bug #30648](https://bugs.winehq.org/show_bug.cgi?id=30648))
|
||||
* Support for TransmitFile ([Wine Bug #5048](https://bugs.winehq.org/show_bug.cgi?id=5048))
|
||||
* Support for WTSEnumerateProcessesW ([Wine Bug #29903](https://bugs.winehq.org/show_bug.cgi?id=29903))
|
||||
|
40
debian/changelog
vendored
40
debian/changelog
vendored
@@ -1,3 +1,43 @@
|
||||
wine-staging (1.7.39) unstable; urgency=low
|
||||
* Fix a build failure on MacOS caused by using of strndup in the server-Inherited_ACLs patchset.
|
||||
* Update patchset for ntdll-RtlUnwindEx to fix an issue with dwarf handling (fixes Wine Staging Bug #170).
|
||||
* Updated patchset for dinput-Events to be compatible with more games (fixes Wine Staging Bug #149).
|
||||
* Added patch for tests of RtlIpv6StringToAddress, RtlIpv{4,6}StringToAddressEx (by Mark Jansen).
|
||||
* Added patch to fix multithreading issues with fullscreen clipping.
|
||||
* Added patch with tests for VerQueryValueA (by Mark Jansen).
|
||||
* Added patch to implement proper locking of keystate and synchronization with desktop thread.
|
||||
* Added patch to implement better stub function for NtQueryInformationJobObject.
|
||||
* Added patch to avoid crash in d3d9 tests by skipping when texture/surface creation fails.
|
||||
* Added patch to fix wrong version of ID3DXEffect interface for d3dx9_24.
|
||||
* Added patch to fix wrong version of ID3DXEffect interface for d3dx9_25.
|
||||
* Added patch to allow to query for d3dx9_26 specific ID3DXEffect interface.
|
||||
* Added patch to modify GetMessage to return already seen messages with higher priority.
|
||||
* Added patch to silence repeated 'Unhandled blend factor 0' FIXME messages.
|
||||
* Added patch for stub of PowerCreateRequest.
|
||||
* Added patch to invalidate key state cache globally after calling LL hooks.
|
||||
* Added patch to fix Wine Staging Bug #162 - Caesar III demo installer crashes.
|
||||
* Added patch to fix wrong return values of RtlFindActivationContextSectionString for NULL data (by Mark Jansen).
|
||||
* Added patch to implement _ismbckata and _mbctohira, moreover fix wrong return value of _ismbckata.
|
||||
* Added patch to improve stub for ID3DXEffectImpl_CloneEffect.
|
||||
* Added patch with additional tests for server-PeekMessage.
|
||||
* Added patch to only zero the buffer up 32767 bytes in GetTempPathW.
|
||||
* Added patches to implement shared memory wineserver communication for various user32 functions.
|
||||
* Added patch to implement combase.WindowsSubstring function.
|
||||
* Added patch with stub for wininet.ParseX509EncodedCertificateForListBoxEntry.
|
||||
* Added patch to allow to edit winecfg library override by double clicking.
|
||||
* Added patch to fix regression causing too dark/missing textures in several games.
|
||||
* Added patch to fix regression causing black screen on startup.
|
||||
* Added patch to implement SetupLogError[A|W] and Setup[Open|Close]Log.
|
||||
* Added patches to get rid of wineserver call for GetActiveWindow, GetFocus, GetCapture.
|
||||
* Removed patch to avoid hardcoded values for sizeof(GUID) (accepted upstream).
|
||||
* Removed patches for SLGetWindowsInformationDWORD (accepted upstream).
|
||||
* Removed patches for _ismbckata and _mbctohira (fixed upstream).
|
||||
* Removed patches to fix wrong return values of RtlFindActivationContextSectionString for NULL data (accepted upstream).
|
||||
* Removed patch for server-PeekMessage tests (accepted upstream).
|
||||
* Removed patch to only zero the buffer up 32767 bytes in GetTempPathW (accepted upstream).
|
||||
* Removed first patch of series ws2_32_WriteWatches (accepted upstream).
|
||||
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 22 Mar 2015 04:05:46 +0100
|
||||
|
||||
wine-staging (1.7.38) unstable; urgency=low
|
||||
* Various improvements to patchupdate.py.
|
||||
* Various improvements to dxva2 vaapi support.
|
||||
|
@@ -1,19 +1,19 @@
|
||||
From 5f0f1d8dc69cd473f35c874b46e98a34930d0b46 Mon Sep 17 00:00:00 2001
|
||||
From e71a6c24c41e3d390a81aac1986938a1db71f9e6 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.
|
||||
|
||||
---
|
||||
include/wine/library.h | 2 +
|
||||
libs/wine/config.c | 103 +++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
libs/wine/loader.c | 36 +++++++++++++++++
|
||||
libs/wine/config.c | 112 +++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
libs/wine/loader.c | 36 ++++++++++++++++
|
||||
libs/wine/wine.def | 2 +
|
||||
libs/wine/wine.map | 2 +
|
||||
loader/main.c | 50 +++++++++++++++++++++++-
|
||||
6 files changed, 194 insertions(+), 1 deletion(-)
|
||||
loader/main.c | 50 +++++++++++++++++++++-
|
||||
6 files changed, 203 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/wine/library.h b/include/wine/library.h
|
||||
index 242bb69..fa1e339 100644
|
||||
index fae73fe..7395a11 100644
|
||||
--- a/include/wine/library.h
|
||||
+++ b/include/wine/library.h
|
||||
@@ -40,6 +40,7 @@ extern "C" {
|
||||
@@ -24,7 +24,7 @@ index 242bb69..fa1e339 100644
|
||||
extern const char *wine_get_server_dir(void);
|
||||
extern const char *wine_get_user_name(void);
|
||||
extern const char *wine_get_version(void);
|
||||
@@ -51,6 +52,7 @@ extern void wine_exec_wine_binary( const char *name, char **argv, const char *en
|
||||
@@ -52,6 +53,7 @@ extern void wine_exec_wine_binary( const char *name, char **argv, const char *en
|
||||
|
||||
typedef void (*load_dll_callback_t)( void *, const char * );
|
||||
|
||||
@@ -33,10 +33,10 @@ index 242bb69..fa1e339 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 a273502..58e4977 100644
|
||||
index 5262c76..7acf51b 100644
|
||||
--- a/libs/wine/config.c
|
||||
+++ b/libs/wine/config.c
|
||||
@@ -444,6 +444,109 @@ const char *wine_get_build_dir(void)
|
||||
@@ -444,6 +444,118 @@ const char *wine_get_build_dir(void)
|
||||
return build_dir;
|
||||
}
|
||||
|
||||
@@ -104,6 +104,15 @@ index a273502..58e4977 100644
|
||||
+#ifdef SONAME_LIBV4L1
|
||||
+ SONAME_LIBV4L1,
|
||||
+#endif
|
||||
+#ifdef SONAME_LIBVA
|
||||
+ SONAME_LIBVA,
|
||||
+#endif
|
||||
+#ifdef SONAME_LIBVA_DRM
|
||||
+ SONAME_LIBVA_DRM,
|
||||
+#endif
|
||||
+#ifdef SONAME_LIBVA_X11
|
||||
+ SONAME_LIBVA_X11,
|
||||
+#endif
|
||||
+#ifdef SONAME_LIBX11
|
||||
+ SONAME_LIBX11,
|
||||
+#endif
|
||||
@@ -194,7 +203,7 @@ index 3591ede..2718857 100644
|
||||
*/
|
||||
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 ed315bd..b6acbce 100644
|
||||
index 5b42029..6acf329 100644
|
||||
--- a/libs/wine/wine.def
|
||||
+++ b/libs/wine/wine.def
|
||||
@@ -64,6 +64,7 @@ EXPORTS
|
||||
@@ -214,7 +223,7 @@ index ed315bd..b6acbce 100644
|
||||
wine_get_sortkey
|
||||
wine_get_user_name
|
||||
diff --git a/libs/wine/wine.map b/libs/wine/wine.map
|
||||
index 2159fac..91ace06 100644
|
||||
index 7cb2918..72ffed8 100644
|
||||
--- a/libs/wine/wine.map
|
||||
+++ b/libs/wine/wine.map
|
||||
@@ -65,6 +65,7 @@ WINE_1.0
|
||||
@@ -234,7 +243,7 @@ index 2159fac..91ace06 100644
|
||||
wine_get_sortkey;
|
||||
wine_get_ss;
|
||||
diff --git a/loader/main.c b/loader/main.c
|
||||
index 76bf324..36738f2 100644
|
||||
index fa0efa2..e96363d 100644
|
||||
--- a/loader/main.c
|
||||
+++ b/loader/main.c
|
||||
@@ -36,6 +36,12 @@
|
||||
@@ -260,7 +269,7 @@ index 76bf324..36738f2 100644
|
||||
|
||||
if (argc <= 1)
|
||||
{
|
||||
@@ -135,6 +142,47 @@ static void check_command_line( int argc, char *argv[] )
|
||||
@@ -146,6 +153,47 @@ static void check_command_line( int argc, char *argv[] )
|
||||
|
||||
exit(0);
|
||||
}
|
||||
@@ -309,5 +318,5 @@ index 76bf324..36738f2 100644
|
||||
|
||||
|
||||
--
|
||||
2.1.2
|
||||
2.3.1
|
||||
|
||||
|
@@ -0,0 +1,181 @@
|
||||
From 397611b845973e2418118ffcb4aee305b671d533 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Pointhuber <thomas.pointhuber@gmx.at>
|
||||
Date: Mon, 16 Mar 2015 09:45:21 +0100
|
||||
Subject: combase: implement WindowsSubstring (try 2)
|
||||
|
||||
---
|
||||
.../api-ms-win-core-winrt-string-l1-1-0.spec | 2 +-
|
||||
dlls/combase/combase.spec | 2 +-
|
||||
dlls/combase/string.c | 19 +++++++
|
||||
dlls/combase/tests/string.c | 60 ++++++++++++++++++++++
|
||||
include/winerror.h | 1 +
|
||||
5 files changed, 82 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/api-ms-win-core-winrt-string-l1-1-0/api-ms-win-core-winrt-string-l1-1-0.spec b/dlls/api-ms-win-core-winrt-string-l1-1-0/api-ms-win-core-winrt-string-l1-1-0.spec
|
||||
index 2361a1d..825980d 100644
|
||||
--- a/dlls/api-ms-win-core-winrt-string-l1-1-0/api-ms-win-core-winrt-string-l1-1-0.spec
|
||||
+++ b/dlls/api-ms-win-core-winrt-string-l1-1-0/api-ms-win-core-winrt-string-l1-1-0.spec
|
||||
@@ -21,7 +21,7 @@
|
||||
@ stdcall WindowsPromoteStringBuffer(ptr ptr) combase.WindowsPromoteStringBuffer
|
||||
@ stub WindowsReplaceString
|
||||
@ stdcall WindowsStringHasEmbeddedNull(ptr ptr) combase.WindowsStringHasEmbeddedNull
|
||||
-@ stub WindowsSubstring
|
||||
+@ stdcall WindowsSubstring(ptr long ptr) combase.WindowsSubstring
|
||||
@ stub WindowsSubstringWithSpecifiedLength
|
||||
@ stub WindowsTrimStringEnd
|
||||
@ stub WindowsTrimStringStart
|
||||
diff --git a/dlls/combase/combase.spec b/dlls/combase/combase.spec
|
||||
index ac095ce..48c3a7e 100644
|
||||
--- a/dlls/combase/combase.spec
|
||||
+++ b/dlls/combase/combase.spec
|
||||
@@ -302,7 +302,7 @@
|
||||
@ stdcall WindowsPromoteStringBuffer(ptr ptr)
|
||||
@ stub WindowsReplaceString
|
||||
@ stdcall WindowsStringHasEmbeddedNull(ptr ptr)
|
||||
-@ stub WindowsSubstring
|
||||
+@ stdcall WindowsSubstring(ptr long ptr)
|
||||
@ stub WindowsSubstringWithSpecifiedLength
|
||||
@ stub WindowsTrimStringEnd
|
||||
@ stub WindowsTrimStringStart
|
||||
diff --git a/dlls/combase/string.c b/dlls/combase/string.c
|
||||
index 7054af6..33e5100 100644
|
||||
--- a/dlls/combase/string.c
|
||||
+++ b/dlls/combase/string.c
|
||||
@@ -255,6 +255,25 @@ HRESULT WINAPI WindowsStringHasEmbeddedNull(HSTRING str, BOOL *out)
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
+ * WindowsSubstring (combase.@)
|
||||
+ */
|
||||
+HRESULT WINAPI WindowsSubstring(HSTRING str, UINT32 start, HSTRING *out)
|
||||
+{
|
||||
+ struct hstring_private *priv = impl_from_HSTRING(str);
|
||||
+ UINT32 len = WindowsGetStringLen(str);
|
||||
+ if (out == NULL)
|
||||
+ return E_INVALIDARG;
|
||||
+ if (start > len)
|
||||
+ return E_BOUNDS;
|
||||
+ if (start == len)
|
||||
+ {
|
||||
+ *out = NULL;
|
||||
+ return S_OK;
|
||||
+ }
|
||||
+ return WindowsCreateString(&priv->buffer[start], len - start, out);
|
||||
+}
|
||||
+
|
||||
+/***********************************************************************
|
||||
* WindowsIsStringEmpty (combase.@)
|
||||
*/
|
||||
BOOL WINAPI WindowsIsStringEmpty(HSTRING str)
|
||||
diff --git a/dlls/combase/tests/string.c b/dlls/combase/tests/string.c
|
||||
index 72eaa84..c46d04e 100644
|
||||
--- a/dlls/combase/tests/string.c
|
||||
+++ b/dlls/combase/tests/string.c
|
||||
@@ -38,6 +38,7 @@ static BOOL (WINAPI *pWindowsIsStringEmpty)(HSTRING);
|
||||
static HRESULT (WINAPI *pWindowsPreallocateStringBuffer)(UINT32, WCHAR **, HSTRING_BUFFER *);
|
||||
static HRESULT (WINAPI *pWindowsPromoteStringBuffer)(HSTRING_BUFFER, HSTRING *);
|
||||
static HRESULT (WINAPI *pWindowsStringHasEmbeddedNull)(HSTRING, BOOL *);
|
||||
+static HRESULT (WINAPI *pWindowsSubstring)(HSTRING, UINT32, HSTRING *);
|
||||
|
||||
#define SET(x) p##x = (void*)GetProcAddress(hmod, #x)
|
||||
|
||||
@@ -60,6 +61,7 @@ static BOOL init_functions(void)
|
||||
SET(WindowsPreallocateStringBuffer);
|
||||
SET(WindowsPromoteStringBuffer);
|
||||
SET(WindowsStringHasEmbeddedNull);
|
||||
+ SET(WindowsSubstring);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -92,6 +94,7 @@ static void _check_string(int line, HSTRING str, LPCWSTR content, UINT32 length,
|
||||
static const WCHAR input_string[] = { 'a', 'b', 'c', 'd', 'e', 'f', '\0', '\0' };
|
||||
static const WCHAR input_empty_string[] = { '\0' };
|
||||
static const WCHAR input_embed_null[] = { 'a', '\0', 'c', '\0', 'e', 'f', '\0' };
|
||||
+static const WCHAR output_substring[] = { 'c', 'd', 'e', 'f', '\0' };
|
||||
|
||||
static void test_create_delete(void)
|
||||
{
|
||||
@@ -236,6 +239,62 @@ static void test_string_buffer(void)
|
||||
ok(pWindowsDeleteString(str) == S_OK, "Failed to delete string\n");
|
||||
}
|
||||
|
||||
+static void test_substring(void)
|
||||
+{
|
||||
+ HSTRING str, substr;
|
||||
+ HSTRING_HEADER header;
|
||||
+
|
||||
+ /* Test substring of string buffers */
|
||||
+ ok(pWindowsCreateString(input_string, 6, &str) == S_OK, "Failed to create string\n");
|
||||
+ ok(pWindowsSubstring(str, 2, &substr) == S_OK, "Failed to create substring!\n");
|
||||
+ check_string(substr, output_substring, 4, FALSE);
|
||||
+ ok(pWindowsDeleteString(substr) == S_OK, "Failed to delete string\n");
|
||||
+ ok(pWindowsDeleteString(str) == S_OK, "Failed to delete string\n");
|
||||
+
|
||||
+ /* Test duplication of string using substring */
|
||||
+ ok(pWindowsCreateString(input_string, 6, &str) == S_OK, "Failed to create string\n");
|
||||
+ ok(pWindowsSubstring(str, 0, &substr) == S_OK, "Failed to create substring!\n");
|
||||
+ ok(str != substr, "Duplicated string didn't create new string\n");
|
||||
+ check_string(substr, input_string, 6, FALSE);
|
||||
+ ok(pWindowsDeleteString(substr) == S_OK, "Failed to delete string\n");
|
||||
+ ok(pWindowsDeleteString(str) == S_OK, "Failed to delete string\n");
|
||||
+
|
||||
+ /* Test substring of string reference */
|
||||
+ ok(pWindowsCreateStringReference(input_string, 6, &header, &str) == S_OK, "Failed to create string ref\n");
|
||||
+ ok(pWindowsSubstring(str, 2, &substr) == S_OK, "Failed to create substring of string ref!\n");
|
||||
+ check_string(substr, output_substring, 4, FALSE);
|
||||
+ ok(pWindowsDeleteString(substr) == S_OK, "Failed to delete string\n");
|
||||
+ ok(pWindowsDeleteString(str) == S_OK, "Failed to delete string ref\n");
|
||||
+
|
||||
+ /* Test duplication of string reference using substring */
|
||||
+ ok(pWindowsCreateStringReference(input_string, 6, &header, &str) == S_OK, "Failed to create string ref\n");
|
||||
+ ok(pWindowsSubstring(str, 0, &substr) == S_OK, "Failed to create substring of string ref!\n");
|
||||
+ ok(str != substr, "Duplicated string ref didn't create new string\n");
|
||||
+ check_string(substr, input_string, 6, FALSE);
|
||||
+ ok(pWindowsDeleteString(substr) == S_OK, "Failed to delete string\n");
|
||||
+ ok(pWindowsDeleteString(str) == S_OK, "Failed to delete string\n");
|
||||
+
|
||||
+ /* Test get Substring of empty string */
|
||||
+ ok(pWindowsSubstring(NULL, 0, &substr) == S_OK, "Failed to duplicate NULL string\n");
|
||||
+ ok(substr == NULL, "Substring created new string\n");
|
||||
+
|
||||
+ /* Test get empty Substring of string */
|
||||
+ ok(pWindowsCreateString(input_string, 6, &str) == S_OK, "Failed to create string\n");
|
||||
+ ok(pWindowsSubstring(str, 6, &substr) == S_OK, "Failed to create substring!\n");
|
||||
+ ok(substr == NULL, "Substring created new string\n");
|
||||
+ ok(pWindowsDeleteString(str) == S_OK, "Failed to delete string\n");
|
||||
+
|
||||
+ /* Test handling of using to high startIndex */
|
||||
+ ok(pWindowsCreateString(input_string, 6, &str) == S_OK, "Failed to create string\n");
|
||||
+ ok(pWindowsSubstring(str, 7, &substr) == E_BOUNDS, "Incorrect error handling\n");
|
||||
+ ok(pWindowsDeleteString(str) == S_OK, "Failed to delete string\n");
|
||||
+
|
||||
+ /* Test handling of a NULL string */
|
||||
+ ok(pWindowsCreateString(input_string, 6, &str) == S_OK, "Failed to create string\n");
|
||||
+ ok(pWindowsSubstring(str, 7, NULL) == E_INVALIDARG, "Incorrect error handling\n");
|
||||
+ ok(pWindowsDeleteString(str) == S_OK, "Failed to delete string\n");
|
||||
+}
|
||||
+
|
||||
START_TEST(string)
|
||||
{
|
||||
if (!init_functions())
|
||||
@@ -244,4 +303,5 @@ START_TEST(string)
|
||||
test_duplicate();
|
||||
test_access();
|
||||
test_string_buffer();
|
||||
+ test_substring();
|
||||
}
|
||||
diff --git a/include/winerror.h b/include/winerror.h
|
||||
index 2958cbd..9b9fb72 100644
|
||||
--- a/include/winerror.h
|
||||
+++ b/include/winerror.h
|
||||
@@ -2090,6 +2090,7 @@ static inline HRESULT HRESULT_FROM_WIN32(unsigned int x)
|
||||
#define S_FALSE _HRESULT_TYPEDEF_(1)
|
||||
|
||||
#define E_PENDING _HRESULT_TYPEDEF_(0x8000000A)
|
||||
+#define E_BOUNDS _HRESULT_TYPEDEF_(0x8000000B)
|
||||
|
||||
|
||||
#define E_NOTIMPL _HRESULT_TYPEDEF_(0x80004001)
|
||||
--
|
||||
2.3.2
|
||||
|
1
patches/combase-String/definition
Normal file
1
patches/combase-String/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: Implement combase.WindowsSubstring function
|
@@ -0,0 +1,43 @@
|
||||
From d4c757fd049018cad57ad8d6ef304b9dd2220ae0 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Costa <titan.costa@gmail.com>
|
||||
Date: Fri, 13 Mar 2015 23:42:20 +0100
|
||||
Subject: d3d9/tests: Avoid crash when surface and texture creation fails.
|
||||
|
||||
---
|
||||
dlls/d3d9/tests/device.c | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
||||
diff --git a/dlls/d3d9/tests/device.c b/dlls/d3d9/tests/device.c
|
||||
index f1c75e4..46612f5 100644
|
||||
--- a/dlls/d3d9/tests/device.c
|
||||
+++ b/dlls/d3d9/tests/device.c
|
||||
@@ -7779,8 +7779,14 @@ static void test_surface_blocks(void)
|
||||
break;
|
||||
|
||||
default:
|
||||
+ hr = E_FAIL;
|
||||
break;
|
||||
}
|
||||
+ if (FAILED(hr))
|
||||
+ {
|
||||
+ skip("Failed to create surface, skipping tests.\n");
|
||||
+ continue;
|
||||
+ }
|
||||
|
||||
if (formats[i].block_width > 1)
|
||||
{
|
||||
@@ -8661,6 +8667,11 @@ static void test_volume_blocks(void)
|
||||
hr = IDirect3DDevice9_CreateVolumeTexture(device, 24, 8, 8, 1, 0,
|
||||
formats[i].fmt, D3DPOOL_SCRATCH, &texture, NULL);
|
||||
ok(SUCCEEDED(hr), "Failed to create volume texture, hr %#x.\n", hr);
|
||||
+ if (FAILED(hr))
|
||||
+ {
|
||||
+ skip("Failed to create texture, skipping tests.\n");
|
||||
+ continue;
|
||||
+ }
|
||||
|
||||
/* Test lockrect offset */
|
||||
for (j = 0; j < sizeof(offset_tests) / sizeof(*offset_tests); j++)
|
||||
--
|
||||
2.3.2
|
||||
|
@@ -0,0 +1,58 @@
|
||||
From 103ca35d4ed896961341134083aea44ff7267cd2 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 f111618..d1c5b21 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
|
||||
@ 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
|
||||
+@ stdcall D3DXCreateEffectFromFileA(ptr str ptr ptr long ptr ptr ptr) d3dx9_25.D3DXCreateEffectFromFileA
|
||||
+@ stdcall D3DXCreateEffectFromFileExA(ptr str ptr ptr str long ptr ptr ptr) d3dx9_25.D3DXCreateEffectFromFileExA
|
||||
+@ stdcall D3DXCreateEffectFromFileExW(ptr str ptr ptr str long ptr ptr ptr) d3dx9_25.D3DXCreateEffectFromFileExW
|
||||
+@ stdcall D3DXCreateEffectFromFileW(ptr wstr ptr ptr long ptr ptr ptr) d3dx9_25.D3DXCreateEffectFromFileW
|
||||
+@ stdcall D3DXCreateEffectFromResourceA(ptr long str ptr ptr long ptr ptr ptr) d3dx9_25.D3DXCreateEffectFromResourceA
|
||||
+@ stdcall D3DXCreateEffectFromResourceExA(ptr long str ptr ptr str long ptr ptr ptr) d3dx9_25.D3DXCreateEffectFromResourceExA
|
||||
+@ stdcall D3DXCreateEffectFromResourceExW(ptr long str ptr ptr str long ptr ptr ptr) d3dx9_25.D3DXCreateEffectFromResourceExW
|
||||
+@ stdcall D3DXCreateEffectFromResourceW(ptr long wstr ptr ptr long ptr ptr ptr) d3dx9_25.D3DXCreateEffectFromResourceW
|
||||
@ 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
|
||||
@ stdcall D3DXDisassembleShader(ptr long str ptr) d3dx9_36.D3DXDisassembleShader
|
||||
@ stdcall D3DXFileCreate(ptr) d3dx9_36.D3DXFileCreate
|
||||
@ stdcall D3DXFillCubeTexture(ptr ptr ptr) d3dx9_36.D3DXFillCubeTexture
|
||||
--
|
||||
2.3.2
|
||||
|
2
patches/d3dx9_24-ID3DXEffect/definition
Normal file
2
patches/d3dx9_24-ID3DXEffect/definition
Normal file
@@ -0,0 +1,2 @@
|
||||
Fixes: Fix wrong version of ID3DXEffect interface for d3dx9_24
|
||||
Depends: d3dx9_25-ID3DXEffect
|
File diff suppressed because it is too large
Load Diff
1
patches/d3dx9_25-ID3DXEffect/definition
Normal file
1
patches/d3dx9_25-ID3DXEffect/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: [25138] Fix wrong version of ID3DXEffect interface for d3dx9_25
|
@@ -0,0 +1,38 @@
|
||||
From 5dfbc3b61422b52ee6763b39b60d0e6bce6cc63b 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 8e2f850..0cb220a 100644
|
||||
--- a/dlls/d3dx9_36/effect.c
|
||||
+++ b/dlls/d3dx9_36/effect.c
|
||||
@@ -27,6 +27,11 @@
|
||||
#include "wingdi.h"
|
||||
#include "d3dx9_36_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
|
||||
@@ -2501,7 +2506,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.3.2
|
||||
|
@@ -0,0 +1,30 @@
|
||||
From f820c1d1f8ef2a4d76f06515ecff8b45bae23d4e Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Mon, 16 Mar 2015 08:18:33 +0100
|
||||
Subject: d3dx9_36: Improve stub for ID3DXEffectImpl_CloneEffect.
|
||||
|
||||
---
|
||||
dlls/d3dx9_36/effect.c | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c
|
||||
index 8e2f850..18d952f 100644
|
||||
--- a/dlls/d3dx9_36/effect.c
|
||||
+++ b/dlls/d3dx9_36/effect.c
|
||||
@@ -3363,7 +3363,12 @@ static HRESULT WINAPI ID3DXEffectImpl_CloneEffect(ID3DXEffect *iface,
|
||||
|
||||
FIXME("(%p)->(%p, %p): stub\n", This, device, effect);
|
||||
|
||||
- return E_NOTIMPL;
|
||||
+ if (!effect)
|
||||
+ return D3DXERR_INVALIDDATA;
|
||||
+
|
||||
+ iface->lpVtbl->AddRef(iface);
|
||||
+ *effect = iface;
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI ID3DXEffectImpl_SetRawValue(ID3DXEffect *iface,
|
||||
--
|
||||
2.3.2
|
||||
|
1
patches/d3dx9_36-CloneEffect/definition
Normal file
1
patches/d3dx9_36-CloneEffect/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: Improve stub for ID3DXEffectImpl_CloneEffect
|
@@ -1,44 +0,0 @@
|
||||
From d18752b72603e91c7bbbbfa623c83f3d13112ca1 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Costa <titan.costa@gmail.com>
|
||||
Date: Mon, 22 Oct 2012 21:00:52 +0200
|
||||
Subject: d3dxof: Use straight assignement instead of using memcpy with
|
||||
hardcoded size.
|
||||
|
||||
---
|
||||
dlls/d3dxof/d3dxof.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3dxof/d3dxof.c b/dlls/d3dxof/d3dxof.c
|
||||
index 88647cf..8888d8b 100644
|
||||
--- a/dlls/d3dxof/d3dxof.c
|
||||
+++ b/dlls/d3dxof/d3dxof.c
|
||||
@@ -619,7 +619,7 @@ static HRESULT WINAPI IDirectXFileDataImpl_GetId(IDirectXFileData* iface, LPGUID
|
||||
if (!pGuid)
|
||||
return DXFILEERR_BADVALUE;
|
||||
|
||||
- memcpy(pGuid, &This->pobj->class_id, 16);
|
||||
+ *pGuid = This->pobj->class_id;
|
||||
|
||||
return DXFILE_OK;
|
||||
}
|
||||
@@ -667,7 +667,7 @@ static HRESULT WINAPI IDirectXFileDataImpl_GetType(IDirectXFileData* iface, cons
|
||||
if (!pguid)
|
||||
return DXFILEERR_BADVALUE;
|
||||
|
||||
- memcpy(&guid, &This->pobj->type, 16);
|
||||
+ guid = This->pobj->type;
|
||||
*pguid = &guid;
|
||||
|
||||
return DXFILE_OK;
|
||||
@@ -886,7 +886,7 @@ static HRESULT WINAPI IDirectXFileDataReferenceImpl_GetId(IDirectXFileDataRefere
|
||||
if (!pGuid)
|
||||
return DXFILEERR_BADVALUE;
|
||||
|
||||
- memcpy(pGuid, &This->ptarget->class_id, 16);
|
||||
+ *pGuid = This->ptarget->class_id;
|
||||
|
||||
return DXFILE_OK;
|
||||
}
|
||||
--
|
||||
2.3.0
|
||||
|
@@ -0,0 +1,26 @@
|
||||
From 8b42b214de22c117d61f2e59f2f3708046e9c9d6 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Fri, 20 Mar 2015 12:47:10 +0100
|
||||
Subject: ddraw: Update the palette before presents to the NULL window.
|
||||
|
||||
This fixes bug 38248.
|
||||
---
|
||||
dlls/ddraw/surface.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c
|
||||
index b8c9872..0d2d731 100644
|
||||
--- a/dlls/ddraw/surface.c
|
||||
+++ b/dlls/ddraw/surface.c
|
||||
@@ -81,6 +81,8 @@ HRESULT ddraw_surface_update_frontbuffer(struct ddraw_surface *surface, const RE
|
||||
ERR("Failed to get surface DC, hr %#x.\n", hr);
|
||||
return hr;
|
||||
}
|
||||
+ if (surface->palette)
|
||||
+ wined3d_palette_apply_to_dc(surface->palette->wineD3DPalette, surface_dc);
|
||||
|
||||
if (!(screen_dc = GetDC(NULL)))
|
||||
{
|
||||
--
|
||||
2.3.2
|
||||
|
1
patches/ddraw-Palette/definition
Normal file
1
patches/ddraw-Palette/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: [38248] Fix regression causing black screen on startup
|
@@ -1,8 +1,8 @@
|
||||
From 6a575f8176ff60cc4703e6299c38e15e5778881d Mon Sep 17 00:00:00 2001
|
||||
From c9ecfe26ac53dc015f02b91948db35cdc141b5d9 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 18 Dec 2014 01:04:34 +0100
|
||||
Subject: dinput: Ensure X11 input events are handled even without explicit
|
||||
message loop. (try 2)
|
||||
message loop. (try 3)
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
@@ -24,14 +24,36 @@ till a better solution is found. This workaround will have no disadvantage, exce
|
||||
that this isn't a complete fix. Please note that not only hooks are affected by
|
||||
this issue, also *RawInput* functions show the same issue - which is the reason why
|
||||
native dinput will still not work (already tested).
|
||||
|
||||
Since games use very different code in order to query for input events, we have to
|
||||
call __wine_check_for_events from multiple locations in the code. See:
|
||||
* https://bugs.wine-staging.com/show_bug.cgi?id=42
|
||||
* https://bugs.wine-staging.com/show_bug.cgi?id=149
|
||||
---
|
||||
dlls/dinput/device.c | 5 +++--
|
||||
dlls/dinput/keyboard.c | 2 ++
|
||||
dlls/dinput/mouse.c | 2 ++
|
||||
dlls/user32/input.c | 14 ++++++++++----
|
||||
dlls/user32/user32.spec | 1 +
|
||||
include/winuser.h | 1 +
|
||||
5 files changed, 16 insertions(+), 4 deletions(-)
|
||||
6 files changed, 19 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/dlls/dinput/device.c b/dlls/dinput/device.c
|
||||
index ab43029..60678be 100644
|
||||
--- a/dlls/dinput/device.c
|
||||
+++ b/dlls/dinput/device.c
|
||||
@@ -1631,8 +1631,9 @@ HRESULT WINAPI IDirectInputDevice2WImpl_Poll(LPDIRECTINPUTDEVICE8W iface)
|
||||
IDirectInputDeviceImpl *This = impl_from_IDirectInputDevice8W(iface);
|
||||
|
||||
if (!This->acquired) return DIERR_NOTACQUIRED;
|
||||
- /* Because wine devices do not need to be polled, just return DI_NOEFFECT */
|
||||
- return DI_NOEFFECT;
|
||||
+
|
||||
+ __wine_check_for_events( QS_ALLINPUT );
|
||||
+ return DI_OK;
|
||||
}
|
||||
|
||||
HRESULT WINAPI IDirectInputDevice2AImpl_Poll(LPDIRECTINPUTDEVICE8A iface)
|
||||
diff --git a/dlls/dinput/keyboard.c b/dlls/dinput/keyboard.c
|
||||
index a5967d7..9e78257 100644
|
||||
--- a/dlls/dinput/keyboard.c
|
||||
@@ -133,5 +155,5 @@ index 3d9b937..7c5c01e 100644
|
||||
#endif
|
||||
|
||||
--
|
||||
2.2.2
|
||||
2.3.2
|
||||
|
||||
|
@@ -1,13 +1,32 @@
|
||||
From 215ba93b9260286b916c1c73f73750f9279645e8 Mon Sep 17 00:00:00 2001
|
||||
From 84f4fe85212ac6bdff8349f41686023ecf1acda3 Mon Sep 17 00:00:00 2001
|
||||
From: Amine Khaldi <amine.khaldi@reactos.org>
|
||||
Date: Mon, 23 Feb 2015 20:14:03 +0100
|
||||
Subject: dinput: Skip Wine specific __wine_check_for_events calls in ReactOS.
|
||||
|
||||
---
|
||||
dlls/dinput/device.c | 5 +++++
|
||||
dlls/dinput/keyboard.c | 2 ++
|
||||
dlls/dinput/mouse.c | 2 ++
|
||||
2 files changed, 4 insertions(+)
|
||||
3 files changed, 9 insertions(+)
|
||||
|
||||
diff --git a/dlls/dinput/device.c b/dlls/dinput/device.c
|
||||
index 60678be..dc901559 100644
|
||||
--- a/dlls/dinput/device.c
|
||||
+++ b/dlls/dinput/device.c
|
||||
@@ -1632,8 +1632,13 @@ HRESULT WINAPI IDirectInputDevice2WImpl_Poll(LPDIRECTINPUTDEVICE8W iface)
|
||||
|
||||
if (!This->acquired) return DIERR_NOTACQUIRED;
|
||||
|
||||
+#ifndef __REACTOS__
|
||||
__wine_check_for_events( QS_ALLINPUT );
|
||||
return DI_OK;
|
||||
+#else
|
||||
+ /* Devices do not need to be polled on ReactOS. */
|
||||
+ return DI_NOEFFECT;
|
||||
+#endif
|
||||
}
|
||||
|
||||
HRESULT WINAPI IDirectInputDevice2AImpl_Poll(LPDIRECTINPUTDEVICE8A iface)
|
||||
diff --git a/dlls/dinput/keyboard.c b/dlls/dinput/keyboard.c
|
||||
index 9e78257..3019552 100644
|
||||
--- a/dlls/dinput/keyboard.c
|
||||
@@ -37,5 +56,5 @@ index 44e1d57..8249513 100644
|
||||
TRACE("(this=%p,0x%08x,%p):\n", This, len, ptr);
|
||||
_dump_mouse_state(&This->m_state);
|
||||
--
|
||||
2.3.0
|
||||
2.3.2
|
||||
|
||||
|
@@ -88,7 +88,7 @@ index 0000000..1a5817e
|
||||
+
|
||||
+static inline UINT estimate_maximum_slice_size( UINT width, UINT height )
|
||||
+{
|
||||
+ return (2 * width * height * min(width, height)) / max(width, height);
|
||||
+ return (3 * width * height * min(width, height)) / max(width, height);
|
||||
+}
|
||||
+
|
||||
+typedef struct
|
||||
|
@@ -0,0 +1,33 @@
|
||||
From 79843a592a6b6d7b68e933d19bc59490f276f510 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Fri, 20 Mar 2015 22:34:49 +0100
|
||||
Subject: gdiplus: Add missing returns in initialize_decoder_wic (Coverity).
|
||||
|
||||
---
|
||||
dlls/gdiplus/image.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/gdiplus/image.c b/dlls/gdiplus/image.c
|
||||
index 8eb1419..77b9305 100644
|
||||
--- a/dlls/gdiplus/image.c
|
||||
+++ b/dlls/gdiplus/image.c
|
||||
@@ -3425,13 +3425,13 @@ static GpStatus initialize_decoder_wic(IStream *stream, REFGUID container, IWICB
|
||||
TRACE("%p,%s\n", stream, wine_dbgstr_guid(container));
|
||||
|
||||
hr = WICCreateImagingFactory_Proxy(WINCODEC_SDK_VERSION, &factory);
|
||||
- if (FAILED(hr)) hresult_to_status(hr);
|
||||
+ if (FAILED(hr)) return hresult_to_status(hr);
|
||||
hr = IWICImagingFactory_CreateDecoder(factory, container, NULL, decoder);
|
||||
IWICImagingFactory_Release(factory);
|
||||
- if (FAILED(hr)) hresult_to_status(hr);
|
||||
+ if (FAILED(hr)) return hresult_to_status(hr);
|
||||
|
||||
hr = IWICBitmapDecoder_Initialize(*decoder, stream, WICDecodeMetadataCacheOnLoad);
|
||||
- if (FAILED(hr)) hresult_to_status(hr);
|
||||
+ if (FAILED(hr)) return hresult_to_status(hr);
|
||||
return Ok;
|
||||
}
|
||||
|
||||
--
|
||||
2.3.2
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user