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
45 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
dc86f5c543 | ||
|
d2e9fa96e2 | ||
|
d9bb5a1e45 | ||
|
d4e3581847 | ||
|
4be7c872c3 | ||
|
896b3398f1 | ||
|
9ad85e9d6f | ||
|
a2714839b3 | ||
|
85d50ecc2a | ||
|
2e4d11137f | ||
|
b03c54797e | ||
|
5ad2c41098 | ||
|
0488823205 | ||
|
fd66b3bced | ||
|
d2f012b3d1 | ||
|
7e1bf8aca0 | ||
|
f8627a6f02 | ||
|
693e189c24 | ||
|
5acbd17da2 | ||
|
d014e899bc | ||
|
397a31ae04 | ||
|
2668c19b7f | ||
|
2c0e907a4a | ||
|
fb56e8d212 | ||
|
22c57980db | ||
|
4c11394828 | ||
|
f151e1f36f | ||
|
1c6124cc6e | ||
|
e51ebcc301 | ||
|
bff92e3d44 | ||
|
1e79306b13 | ||
|
8cd8abd51f | ||
|
8adf60dc8e | ||
|
e64c3bff30 | ||
|
8d0e6ea5c8 | ||
|
4f051ce511 | ||
|
bd89770641 | ||
|
7cf357b20c | ||
|
91f812ed1b | ||
|
8e8654d76e | ||
|
d7013c255f | ||
|
9638ce9ec6 | ||
|
e1d5975f34 | ||
|
f597f5b898 | ||
|
63426eaa59 |
22
README.md
22
README.md
@@ -34,7 +34,7 @@ Wine. All those differences are also documented on the
|
||||
Included bug fixes and improvements
|
||||
-----------------------------------
|
||||
|
||||
**Bug fixes and features in Wine Staging 1.7.53 [262]:**
|
||||
**Bug fixes and features in Wine Staging 1.7.54 [268]:**
|
||||
|
||||
*Note: The following list only contains features and bug fixes which are not
|
||||
yet available in vanilla Wine. They are removed from the list as soon as they
|
||||
@@ -60,6 +60,9 @@ for more details.*
|
||||
* Add stub for D3DXComputeNormalMap
|
||||
* Add stub for D3DXFrameFind ([Wine Bug #38334](https://bugs.winehq.org/show_bug.cgi?id=38334))
|
||||
* Add stub for NtSetLdtEntries/ZwSetLdtEntries ([Wine Bug #26268](https://bugs.winehq.org/show_bug.cgi?id=26268))
|
||||
* Add stub for SetCoalescableTimer ([Wine Bug #39509](https://bugs.winehq.org/show_bug.cgi?id=39509))
|
||||
* Add stub for SetConsoleKeyShortcuts ([Wine Bug #35702](https://bugs.winehq.org/show_bug.cgi?id=35702))
|
||||
* Add stub for SfcGetNextProtectedFile ([Wine Bug #38097](https://bugs.winehq.org/show_bug.cgi?id=38097))
|
||||
* Add stub for ntoskrnl.ExAcquireResourceExclusiveLite
|
||||
* Add stub for ntoskrnl.ExDeleteResourceLite
|
||||
* Add stub for ntoskrnl.ExReleaseResourceForThread
|
||||
@@ -110,8 +113,8 @@ for more details.*
|
||||
* Create stub files for system32/drivers/etc/{services,hosts,networks,protocol} ([Wine Bug #12076](https://bugs.winehq.org/show_bug.cgi?id=12076))
|
||||
* CreateProcess does not prioritize the working directory over the system search path ([Wine Bug #23934](https://bugs.winehq.org/show_bug.cgi?id=23934))
|
||||
* D3DCompileShader should filter specific warning messages ([Wine Bug #33770](https://bugs.winehq.org/show_bug.cgi?id=33770))
|
||||
* Do not allow interruption of system APC in server_select ([Wine Bug #14697](https://bugs.winehq.org/show_bug.cgi?id=14697))
|
||||
* Do not allow to deallocate thread stack for current thread
|
||||
* Do not check if object was signaled after user APC in server_select
|
||||
* Do not fail when a used context is passed to wglShareLists ([Wine Bug #11436](https://bugs.winehq.org/show_bug.cgi?id=11436))
|
||||
* Do not signal threads until they are really gone
|
||||
* Do not use unixfs for devices without mountpoint
|
||||
@@ -127,7 +130,6 @@ for more details.*
|
||||
* Fake success in kernel32.SetFileCompletionNotificationModes ([Wine Bug #38960](https://bugs.winehq.org/show_bug.cgi?id=38960))
|
||||
* Fallback to default comspec when %COMSPEC% is not set
|
||||
* Fallback to system ping command when CAP_NET_RAW is not available ([Wine Bug #8332](https://bugs.winehq.org/show_bug.cgi?id=8332))
|
||||
* Fix NULL dereference in ICSeqCompressFrameStart ([Wine Bug #27595](https://bugs.winehq.org/show_bug.cgi?id=27595))
|
||||
* Fix access violation in MSYS2 git when cloning repository
|
||||
* Fix calculation of listbox size when horizontal scrollbar is present ([Wine Bug #38142](https://bugs.winehq.org/show_bug.cgi?id=38142))
|
||||
* Fix caps lock state issues with multiple processes ([Wine Bug #35907](https://bugs.winehq.org/show_bug.cgi?id=35907))
|
||||
@@ -153,6 +155,7 @@ for more details.*
|
||||
* Fix implementation of msvcrt.close when stdout == stderr
|
||||
* 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 multiple issues in widl typelib generation
|
||||
* 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
|
||||
@@ -172,23 +175,26 @@ for more details.*
|
||||
* GetSecurityInfo returns NULL DACL for process object ([Wine Bug #15980](https://bugs.winehq.org/show_bug.cgi?id=15980))
|
||||
* Globally invalidate key state on changes in other threads ([Wine Bug #29871](https://bugs.winehq.org/show_bug.cgi?id=29871))
|
||||
* Graphical issues in Inquisitor ([Wine Bug #32490](https://bugs.winehq.org/show_bug.cgi?id=32490))
|
||||
* IEnumSTATSTG::Next should zero out returned stats when enumeration ends
|
||||
* Implement AMStream GetMultiMediaStream functions ([Wine Bug #37090](https://bugs.winehq.org/show_bug.cgi?id=37090))
|
||||
* Implement D3DXGetShaderOutputSemantics
|
||||
* Implement DDENUMSURFACES_CANBECREATED in IDirectDraw7::EnumSurfaces ([Wine Bug #17233](https://bugs.winehq.org/show_bug.cgi?id=17233))
|
||||
* Implement FileNamesInformation class support for NtQueryDirectoryFile
|
||||
* Implement FolderImpl_Items and stubbed FolderItems interface
|
||||
* Implement ID3DXEffect::FindNextValidTechnique ([Wine Bug #34101](https://bugs.winehq.org/show_bug.cgi?id=34101))
|
||||
* Implement IDXGIOutput::GetDesc
|
||||
* Implement SystemHandleInformation info class
|
||||
* Implement a Courier New replacement font ([Wine Bug #20456](https://bugs.winehq.org/show_bug.cgi?id=20456))
|
||||
* Implement a Microsoft Yahei replacement font ([Wine Bug #13829](https://bugs.winehq.org/show_bug.cgi?id=13829))
|
||||
* Implement a Times New Roman replacement font ([Wine Bug #32342](https://bugs.winehq.org/show_bug.cgi?id=32342))
|
||||
* Implement additional stub functions in authz.dll
|
||||
* Implement an Arial replacement font ([Wine Bug #32323](https://bugs.winehq.org/show_bug.cgi?id=32323))
|
||||
* Implement combase.WindowsSubstring function
|
||||
* Implement default homepage button in inetcpl.cpl
|
||||
* Implement enumeration of sound devices and basic properties to dxdiagn ([Wine Bug #32613](https://bugs.winehq.org/show_bug.cgi?id=32613))
|
||||
* Implement exclusive mode in PulseAudio backend ([Wine Bug #37042](https://bugs.winehq.org/show_bug.cgi?id=37042))
|
||||
* Implement general tab for file property dialog
|
||||
* Implement kernel32.GetPhysicallyInstalledSystemMemory ([Wine Bug #39395](https://bugs.winehq.org/show_bug.cgi?id=39395))
|
||||
* Implement hal.KeQueryPerformanceCounter ([Wine Bug #39500](https://bugs.winehq.org/show_bug.cgi?id=39500))
|
||||
* Implement kernel32.GetConsoleFontSize
|
||||
* Implement locking and synchronization of key states ([Wine Bug #31899](https://bugs.winehq.org/show_bug.cgi?id=31899))
|
||||
* Implement mscoree._CorValidateImage for mono runtime ([Wine Bug #38662](https://bugs.winehq.org/show_bug.cgi?id=38662))
|
||||
* Implement ntoskrnl driver testing framework.
|
||||
@@ -196,10 +202,12 @@ for more details.*
|
||||
* Implement proper handling of CLI .NET images in Wine library loader ([Wine Bug #38661](https://bugs.winehq.org/show_bug.cgi?id=38661))
|
||||
* Implement shell32 NewMenu class with new folder item ([Wine Bug #24812](https://bugs.winehq.org/show_bug.cgi?id=24812))
|
||||
* Implement special handling for calling GetChildContainer with an empty string ([Wine Bug #38014](https://bugs.winehq.org/show_bug.cgi?id=38014))
|
||||
* Implement stub for ProcessQuotaLimits info class
|
||||
* Implement stub for ntoskrnl.IoGetAttachedDeviceReference
|
||||
* Implement stub for ntoskrnl.KeDelayExecutionThread.
|
||||
* Implement stubs for ntoskrnl.Ex{Acquire,Release}FastMutexUnsafe
|
||||
* Implement stubs for ntoskrnl.ObReferenceObjectByPointer and ntoskrnl.ObDereferenceObject
|
||||
* Improve INetFwAuthorizedApplication::get_ProcessImageFileName stub
|
||||
* Improve ReadDataAvailable handling in FilePipeLocalInformation class
|
||||
* Improve startup performance by delaying font initialization
|
||||
* Improve stub for AEV_GetVolumeRange ([Wine Bug #35658](https://bugs.winehq.org/show_bug.cgi?id=35658))
|
||||
@@ -214,7 +222,7 @@ for more details.*
|
||||
* 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))
|
||||
* MSYS2 expects correct handling of WRITECOPY memory protection ([Wine Bug #35561](https://bugs.winehq.org/show_bug.cgi?id=35561))
|
||||
* Make ddraw1 and ddraw_surface1 vtable as writable
|
||||
* Make ddraw1 and ddraw_surface1 vtable as writable ([Wine Bug #39534](https://bugs.winehq.org/show_bug.cgi?id=39534))
|
||||
* Make it possible to change media center / tablet pc status ([Wine Bug #18732](https://bugs.winehq.org/show_bug.cgi?id=18732))
|
||||
* Map EXDEV error code to STATUS_NOT_SAME_DEVICE
|
||||
* MediaCoder needs CUDA for video encoding ([Wine Bug #37664](https://bugs.winehq.org/show_bug.cgi?id=37664))
|
||||
@@ -240,7 +248,6 @@ for more details.*
|
||||
* 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
|
||||
* Return correct values for GetThreadTimes function ([Wine Bug #20230](https://bugs.winehq.org/show_bug.cgi?id=20230))
|
||||
* Return default palette entries from GetSystemPaletteEntries for non-palette-based devices ([Wine Bug #36895](https://bugs.winehq.org/show_bug.cgi?id=36895))
|
||||
* Return dummy ID3DXSkinInfo interface when skinning info not present ([Wine Bug #33904](https://bugs.winehq.org/show_bug.cgi?id=33904))
|
||||
* Return fake device type when systemroot is located on virtual disk ([Wine Bug #36546](https://bugs.winehq.org/show_bug.cgi?id=36546))
|
||||
* Return proper status codes when NtReadFile/NtWriteFile is called on closed (but not disconnected) pipe
|
||||
@@ -276,7 +283,6 @@ for more details.*
|
||||
* Support for NtQuerySection ([Wine Bug #37338](https://bugs.winehq.org/show_bug.cgi?id=37338))
|
||||
* Support for PulseAudio backend for audio ([Wine Bug #10495](https://bugs.winehq.org/show_bug.cgi?id=10495))
|
||||
* Support for SHCreateSessionKey ([Wine Bug #35630](https://bugs.winehq.org/show_bug.cgi?id=35630))
|
||||
* 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))
|
||||
* Support for extra large and jumbo icon lists in shell32 ([Wine Bug #24721](https://bugs.winehq.org/show_bug.cgi?id=24721))
|
||||
* Support for inherited file ACLs
|
||||
|
47
debian/changelog
vendored
47
debian/changelog
vendored
@@ -1,3 +1,50 @@
|
||||
wine-staging (1.7.54) unstable; urgency=low
|
||||
* Updated server-FileEndOfFileInformation patchset, growing a memory mapped
|
||||
file should still work.
|
||||
* Added patch to use wrapper function for consolidation callback during
|
||||
unwinding.
|
||||
* Added patch to implement stub for ProcessQuotaLimits info class.
|
||||
* Added patch to release capture before sending WM_COMMAND.
|
||||
* Added patch to block interruption of system APC in server_select.
|
||||
* Added patch to implement FileNamesInformation class support for
|
||||
NtQueryDirectoryFile.
|
||||
* Added patch for implementation of additional HSTRING functions.
|
||||
* Added patches for memory allocation cleanup in gdiplus functions.
|
||||
* Added patch to implement hal.KeQueryPerformanceCounter.
|
||||
* Added patch to fix build failure (introduced by makefile rewrite).
|
||||
* Added patch to pass '-read_only_relocs suppress' to the linker on OSX and
|
||||
enable patchset to use Nt* function wrappers.
|
||||
* Added patch to use close_handle instead of NtClose for internal memory
|
||||
management functions.
|
||||
* Added patch to improve INetFwAuthorizedApplication::get_ProcessImageFileName
|
||||
stub.
|
||||
* Added patch for SetCoalescableTimer stub function.
|
||||
* Added patch for SfcGetNextProtectedFile stub function.
|
||||
* Added patch to zero out returned stats when IEnumSTATSTG::Next reaches end
|
||||
of enumeration.
|
||||
* Added patch to fix multiple issues in widl typelib generation.
|
||||
* Added patch for SetConsoleKeyShortcuts stub function.
|
||||
* Added patch to implement kernel32.GetConsoleFontSize.
|
||||
* Added patch to implement SystemHandleInformation info class.
|
||||
* Removed patch to implement kernel32.GetPhysicallyInstalledSystemMemory
|
||||
(accepted upstream).
|
||||
* Partially removed patches for ws2_32 TransmitFile (accepted upstream).
|
||||
* Removed patch to fix NULL dereference in ICSeqCompressFrameStart (fixed
|
||||
upstream).
|
||||
* Removed patch to return default palette entries from GetSystemPaletteEntries
|
||||
for non-palette-based devices (accepted upstream).
|
||||
* Removed patch to use wrapper function for consolidate callback during
|
||||
unwinding on x86_64 (accepted upstream).
|
||||
* Removed patch to release capture before sending WM_COMMAND (accepted
|
||||
upstream).
|
||||
* Removed patch to avoid check for signaled object after user APC in
|
||||
server_select (accepted upstream).
|
||||
* Removed patch to implement combase.WindowsSubstring function (accepted
|
||||
upstream).
|
||||
* Removed patch to fix build failure (identical patch committed upstream).
|
||||
* Removed patch for vcruntime120 dll (accepted upstream).
|
||||
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 01 Nov 2015 00:14:59 +0100
|
||||
|
||||
wine-staging (1.7.53) unstable; urgency=low
|
||||
* Added patch to implement support for msiexec /passive command line option.
|
||||
* Added patch to implement stub for DSPROPSETID_EAX20_ListenerProperties.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 0e76401ae2de47285c66ee0b59bdf7449136d060 Mon Sep 17 00:00:00 2001
|
||||
From 65feac97e132fb25278e7c4c904d2ae831bf8a50 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 2 Oct 2014 19:53:46 +0200
|
||||
Subject: winelib: Append '(Staging)' at the end of the version string.
|
||||
@@ -8,7 +8,7 @@ Subject: winelib: Append '(Staging)' at the end of the version string.
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libs/wine/Makefile.in b/libs/wine/Makefile.in
|
||||
index c961ba5..776168c 100644
|
||||
index bc5f6fe..799b032 100644
|
||||
--- a/libs/wine/Makefile.in
|
||||
+++ b/libs/wine/Makefile.in
|
||||
@@ -105,7 +105,7 @@ config_EXTRADEFS = \
|
||||
@@ -18,8 +18,8 @@ index c961ba5..776168c 100644
|
||||
- version=`(GIT_DIR=$(top_srcdir)/.git git describe HEAD 2>/dev/null || echo "wine-@PACKAGE_VERSION@") | sed -n -e '$$s/\(.*\)/const char wine_build[] = "\1";/p'` && (echo $$version | cmp -s - $@) || echo $$version >$@ || ($(RM) $@ && exit 1)
|
||||
+ version=`(GIT_DIR=$(top_srcdir)/.git git describe HEAD 2>/dev/null || echo "wine-@PACKAGE_VERSION@") | sed -n -e '$$s/\(.*\)/const char wine_build[] = "\1 (Staging)";/p'` && (echo $$version | cmp -s - $@) || echo $$version >$@ || ($(RM) $@ && exit 1)
|
||||
|
||||
# Make sure that make_makefiles sees the generated rules
|
||||
.PHONY: install install-lib install-dev uninstall
|
||||
dummy:
|
||||
|
||||
--
|
||||
2.1.1
|
||||
2.6.1
|
||||
|
||||
|
@@ -1,163 +0,0 @@
|
||||
From f81b1feadca76ec41c834915fd5c5ce43f66f7b1 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Storsjo <martin@martin.st>
|
||||
Date: Mon, 3 Aug 2015 22:26:02 +0300
|
||||
Subject: vcruntime140: Add the new MSVC 2015 compiler specific DLL.
|
||||
|
||||
Since MSVC 2015/Windows 10, the C runtime has now been split into two
|
||||
parts, ucrtbase, which is the generic C runtime which is now considered
|
||||
a system component, and vcruntimeX which is specific to the compiler
|
||||
version.
|
||||
|
||||
Even if this DLL only has a fraction of the functions of the full
|
||||
msvcrt/ucrtbase, it still requires almost all the object files from
|
||||
msvcrt.
|
||||
---
|
||||
configure.ac | 1 +
|
||||
dlls/vcruntime140/Makefile.in | 33 +++++++++++++++
|
||||
dlls/vcruntime140/vcruntime140.spec | 82 +++++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 116 insertions(+)
|
||||
create mode 100644 dlls/vcruntime140/Makefile.in
|
||||
create mode 100644 dlls/vcruntime140/vcruntime140.spec
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index e22b0ef..498470f 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3363,6 +3363,7 @@ WINE_CONFIG_DLL(vcomp100)
|
||||
WINE_CONFIG_DLL(vcomp110)
|
||||
WINE_CONFIG_DLL(vcomp120)
|
||||
WINE_CONFIG_DLL(vcomp90)
|
||||
+WINE_CONFIG_DLL(vcruntime140,,[implib])
|
||||
WINE_CONFIG_DLL(vdhcp.vxd,enable_win16)
|
||||
WINE_CONFIG_DLL(vdmdbg,,[implib])
|
||||
WINE_CONFIG_DLL(ver.dll16,enable_win16)
|
||||
diff --git a/dlls/vcruntime140/Makefile.in b/dlls/vcruntime140/Makefile.in
|
||||
new file mode 100644
|
||||
index 0000000..92f99c4
|
||||
--- /dev/null
|
||||
+++ b/dlls/vcruntime140/Makefile.in
|
||||
@@ -0,0 +1,33 @@
|
||||
+EXTRADEFS = -D_MT -D_MSVCR_VER=140
|
||||
+MODULE = vcruntime140.dll
|
||||
+IMPORTLIB = vcruntime140
|
||||
+DELAYIMPORTS = advapi32 user32
|
||||
+PARENTSRC = ../msvcrt
|
||||
+
|
||||
+C_SRCS = \
|
||||
+ console.c \
|
||||
+ cpp.c \
|
||||
+ ctype.c \
|
||||
+ data.c \
|
||||
+ dir.c \
|
||||
+ environ.c \
|
||||
+ errno.c \
|
||||
+ except.c \
|
||||
+ except_arm.c \
|
||||
+ except_i386.c \
|
||||
+ except_x86_64.c \
|
||||
+ exit.c \
|
||||
+ file.c \
|
||||
+ heap.c \
|
||||
+ locale.c \
|
||||
+ lock.c \
|
||||
+ main.c \
|
||||
+ math.c \
|
||||
+ mbcs.c \
|
||||
+ misc.c \
|
||||
+ process.c \
|
||||
+ string.c \
|
||||
+ thread.c \
|
||||
+ time.c \
|
||||
+ undname.c \
|
||||
+ wcs.c
|
||||
diff --git a/dlls/vcruntime140/vcruntime140.spec b/dlls/vcruntime140/vcruntime140.spec
|
||||
new file mode 100644
|
||||
index 0000000..9027955
|
||||
--- /dev/null
|
||||
+++ b/dlls/vcruntime140/vcruntime140.spec
|
||||
@@ -0,0 +1,82 @@
|
||||
+@ stub _CreateFrameInfo
|
||||
+@ stdcall _CxxThrowException(long long)
|
||||
+@ cdecl -arch=i386 -norelay _EH_prolog()
|
||||
+@ stub _FindAndUnlinkFrame
|
||||
+@ stub _IsExceptionObjectToBeDestroyed
|
||||
+@ stub _NLG_Dispatch2
|
||||
+@ stub _NLG_Return
|
||||
+@ stub _NLG_Return2
|
||||
+@ stub _SetWinRTOutOfMemoryExceptionCallback
|
||||
+@ cdecl __AdjustPointer(ptr ptr)
|
||||
+@ stub __BuildCatchObject
|
||||
+@ stub __BuildCatchObjectHelper
|
||||
+@ cdecl -arch=i386,x86_64,arm __CxxDetectRethrow(ptr)
|
||||
+@ stub __CxxExceptionFilter
|
||||
+@ cdecl -arch=i386,x86_64,arm -norelay __CxxFrameHandler(ptr ptr ptr ptr)
|
||||
+@ cdecl -arch=i386,x86_64,arm -norelay __CxxFrameHandler2(ptr ptr ptr ptr) __CxxFrameHandler
|
||||
+@ cdecl -arch=i386,x86_64,arm -norelay __CxxFrameHandler3(ptr ptr ptr ptr) __CxxFrameHandler
|
||||
+@ stdcall -arch=i386 __CxxLongjmpUnwind(ptr)
|
||||
+@ cdecl -arch=i386,x86_64,arm __CxxQueryExceptionSize()
|
||||
+@ stub __CxxRegisterExceptionObject
|
||||
+@ stub __CxxUnregisterExceptionObject
|
||||
+@ stub __DestructExceptionObject
|
||||
+@ stub __FrameUnwindFilter
|
||||
+@ stub __GetPlatformExceptionInfo
|
||||
+@ cdecl __RTCastToVoid(ptr) MSVCRT___RTCastToVoid
|
||||
+@ cdecl __RTDynamicCast(ptr long ptr ptr long) MSVCRT___RTDynamicCast
|
||||
+@ cdecl __RTtypeid(ptr) MSVCRT___RTtypeid
|
||||
+@ stub __TypeMatch
|
||||
+@ stub __current_exception
|
||||
+@ stub __current_exception_context
|
||||
+@ stub __intrinsic_setjmp
|
||||
+@ stub __processing_throw
|
||||
+@ stub __report_gsfailure
|
||||
+@ stub __std_exception_copy
|
||||
+@ stub __std_exception_destroy
|
||||
+@ stub __std_terminate
|
||||
+@ stub __std_type_info_compare
|
||||
+@ stub __std_type_info_destroy_list
|
||||
+@ stub __std_type_info_hash
|
||||
+@ stub __std_type_info_name
|
||||
+@ stub __telemetry_main_invoke_trigger
|
||||
+@ stub __telemetry_main_return_trigger
|
||||
+@ cdecl __unDName(ptr str long ptr ptr long)
|
||||
+@ cdecl __unDNameEx(ptr str long ptr ptr ptr long)
|
||||
+@ cdecl __uncaught_exception() MSVCRT___uncaught_exception
|
||||
+@ stub __uncaught_exceptions
|
||||
+@ stub __vcrt_GetModuleFileNameW
|
||||
+@ stub __vcrt_GetModuleHandleW
|
||||
+@ stub __vcrt_InitializeCriticalSectionEx
|
||||
+@ stub __vcrt_LoadLibraryExW
|
||||
+@ cdecl -arch=i386 -norelay _chkesp()
|
||||
+@ cdecl -arch=i386 _except_handler2(ptr ptr ptr ptr)
|
||||
+@ cdecl -arch=i386 _except_handler3(ptr ptr ptr ptr)
|
||||
+@ cdecl -arch=i386 _except_handler4_common(ptr ptr ptr ptr ptr ptr)
|
||||
+@ stub _get_purecall_handler
|
||||
+@ cdecl _get_unexpected() MSVCRT__get_unexpected
|
||||
+@ cdecl -arch=i386 _global_unwind2(ptr)
|
||||
+@ stub _is_exception_typeof
|
||||
+@ cdecl -arch=i386 _local_unwind2(ptr long)
|
||||
+@ cdecl -arch=i386 _local_unwind4(ptr ptr long)
|
||||
+@ cdecl -arch=i386 _longjmpex(ptr long) MSVCRT_longjmp
|
||||
+@ cdecl _purecall()
|
||||
+@ stdcall -arch=i386 _seh_longjmp_unwind4(ptr)
|
||||
+@ stdcall -arch=i386 _seh_longjmp_unwind(ptr)
|
||||
+@ cdecl _set_purecall_handler(ptr)
|
||||
+@ stub -arch=win32 ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZH@Z # void(__cdecl*__cdecl _set_se_translator(int))(unsigned int,struct _EXCEPTION_POINTERS *)
|
||||
+@ stub -arch=win64 ?_set_se_translator@@YAP6AXIPEAU_EXCEPTION_POINTERS@@@ZH@Z # void(__cdecl*__cdecl _set_se_translator(int))(unsigned int,struct _EXCEPTION_POINTERS * __ptr64)
|
||||
+@ cdecl -arch=i386 -norelay _setjmp3(ptr long) MSVCRT__setjmp3
|
||||
+@ cdecl -arch=i386,x86_64,arm longjmp(ptr long) MSVCRT_longjmp
|
||||
+@ cdecl memchr(ptr long long) MSVCRT_memchr
|
||||
+@ cdecl memcmp(ptr ptr long) MSVCRT_memcmp
|
||||
+@ cdecl memcpy(ptr ptr long) MSVCRT_memcpy
|
||||
+@ cdecl memmove(ptr ptr long) MSVCRT_memmove
|
||||
+@ cdecl memset(ptr long long) MSVCRT_memset
|
||||
+@ stub set_unexpected
|
||||
+@ cdecl strchr(str long) MSVCRT_strchr
|
||||
+@ cdecl strrchr(str long) MSVCRT_strrchr
|
||||
+@ cdecl strstr(str str) MSVCRT_strstr
|
||||
+@ stub unexpected
|
||||
+@ cdecl wcschr(wstr long) MSVCRT_wcschr
|
||||
+@ cdecl wcsrchr(wstr long) ntdll.wcsrchr
|
||||
+@ cdecl wcsstr(wstr wstr) MSVCRT_wcsstr
|
||||
--
|
||||
2.6.0
|
||||
|
@@ -1,26 +0,0 @@
|
||||
From 3d3dd8491369119ee0dea8ec571b917f8613910a Mon Sep 17 00:00:00 2001
|
||||
From: Martin Storsjo <martin@martin.st>
|
||||
Date: Mon, 3 Aug 2015 22:26:03 +0300
|
||||
Subject: vcruntime140: Hook up a function with a new name to the existing
|
||||
implementation
|
||||
|
||||
---
|
||||
dlls/vcruntime140/vcruntime140.spec | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/vcruntime140/vcruntime140.spec b/dlls/vcruntime140/vcruntime140.spec
|
||||
index 9027955..adfb0f0 100644
|
||||
--- a/dlls/vcruntime140/vcruntime140.spec
|
||||
+++ b/dlls/vcruntime140/vcruntime140.spec
|
||||
@@ -46,7 +46,7 @@
|
||||
@ stub __uncaught_exceptions
|
||||
@ stub __vcrt_GetModuleFileNameW
|
||||
@ stub __vcrt_GetModuleHandleW
|
||||
-@ stub __vcrt_InitializeCriticalSectionEx
|
||||
+@ cdecl -arch=i386,win64 __vcrt_InitializeCriticalSectionEx(ptr long long) MSVCR110__crtInitializeCriticalSectionEx
|
||||
@ stub __vcrt_LoadLibraryExW
|
||||
@ cdecl -arch=i386 -norelay _chkesp()
|
||||
@ cdecl -arch=i386 _except_handler2(ptr ptr ptr ptr)
|
||||
--
|
||||
2.5.0
|
||||
|
@@ -1,54 +0,0 @@
|
||||
From 00e2e0a38d5ef81502d35a5aa3f62cb4ed834488 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Storsjo <martin@martin.st>
|
||||
Date: Mon, 3 Aug 2015 22:26:05 +0300
|
||||
Subject: vcruntime140: Add stubs for telemetry functions
|
||||
|
||||
These are required for a plain empty exe built with MSVC 2015 with
|
||||
dynamic C runtime to start up with the builtin vcruntime140.dll.
|
||||
---
|
||||
dlls/msvcrt/misc.c | 16 ++++++++++++++++
|
||||
dlls/vcruntime140/vcruntime140.spec | 4 ++--
|
||||
2 files changed, 18 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/msvcrt/misc.c b/dlls/msvcrt/misc.c
|
||||
index 4e9f288..556ca62 100644
|
||||
--- a/dlls/msvcrt/misc.c
|
||||
+++ b/dlls/msvcrt/misc.c
|
||||
@@ -498,3 +498,19 @@ void CDECL MSVCR120__vacopy(__ms_va_list *dest, __ms_va_list src)
|
||||
{
|
||||
__ms_va_copy(*dest, src);
|
||||
}
|
||||
+
|
||||
+/*********************************************************************
|
||||
+ * __telemetry_main_invoke_trigger (MSVCRT.@)
|
||||
+ */
|
||||
+void CDECL __telemetry_main_invoke_trigger(const HINSTANCE hinst)
|
||||
+{
|
||||
+ TRACE("(%p)\n", hinst);
|
||||
+}
|
||||
+
|
||||
+/*********************************************************************
|
||||
+ * __telemetry_main_return_trigger (MSVCRT.@)
|
||||
+ */
|
||||
+void CDECL __telemetry_main_return_trigger(const HINSTANCE hinst)
|
||||
+{
|
||||
+ TRACE("(%p)\n", hinst);
|
||||
+}
|
||||
diff --git a/dlls/vcruntime140/vcruntime140.spec b/dlls/vcruntime140/vcruntime140.spec
|
||||
index adfb0f0..efd967f 100644
|
||||
--- a/dlls/vcruntime140/vcruntime140.spec
|
||||
+++ b/dlls/vcruntime140/vcruntime140.spec
|
||||
@@ -38,8 +38,8 @@
|
||||
@ stub __std_type_info_destroy_list
|
||||
@ stub __std_type_info_hash
|
||||
@ stub __std_type_info_name
|
||||
-@ stub __telemetry_main_invoke_trigger
|
||||
-@ stub __telemetry_main_return_trigger
|
||||
+@ cdecl __telemetry_main_invoke_trigger(ptr)
|
||||
+@ cdecl __telemetry_main_return_trigger(ptr)
|
||||
@ cdecl __unDName(ptr str long ptr ptr long)
|
||||
@ cdecl __unDNameEx(ptr str long ptr ptr ptr long)
|
||||
@ cdecl __uncaught_exception() MSVCRT___uncaught_exception
|
||||
--
|
||||
2.5.0
|
||||
|
@@ -1,181 +0,0 @@
|
||||
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,2 +0,0 @@
|
||||
Fixes: Implement combase.WindowsSubstring function
|
||||
Category: stable
|
@@ -1,29 +1,29 @@
|
||||
From d39d120e7b69873b864286ec574c7b5c9eb1de0d Mon Sep 17 00:00:00 2001
|
||||
From 53bf52b313245d965619802729ef59ada1806660 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Wed, 27 Aug 2014 00:31:23 +0200
|
||||
Subject: configure: Also add the absolute RPATH when linking against libwine.
|
||||
|
||||
---
|
||||
configure.ac | 4 ++--
|
||||
configure.ac | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index c4066f6..1c5f156 100644
|
||||
index ff74f8d..529c209 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -970,10 +970,10 @@ wine-installed: main.o
|
||||
@@ -966,10 +966,10 @@ ${wine_binary}_LDFLAGS = $LDEXECFLAGS -lwine \$(PTHREAD_LIBS)
|
||||
[LDEXECFLAGS="-Wl,--export-dynamic"])
|
||||
|
||||
WINE_TRY_CFLAGS([-fPIC -Wl,--rpath,\$ORIGIN/../lib],
|
||||
- [LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \$(bindir) \$(libdir)\`"
|
||||
+ [LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \$(bindir) \$(libdir)\`:\$(DESTDIR)\$(libdir)"
|
||||
- [LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`"
|
||||
+ [LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`:\$(DESTDIR)\${libdir}"
|
||||
LDRPATH_LOCAL="-Wl,--rpath,\\\$\$ORIGIN/\$(top_builddir)/libs/wine"],
|
||||
[WINE_TRY_CFLAGS([-fPIC -Wl,-R,\$ORIGIN/../lib],
|
||||
- [LDRPATH_INSTALL="-Wl,-R,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \$(bindir) \$(libdir)\`"
|
||||
+ [LDRPATH_INSTALL="-Wl,-R,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \$(bindir) \$(libdir)\`:\$(DESTDIR)\$(libdir)"
|
||||
- [LDRPATH_INSTALL="-Wl,-R,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`"
|
||||
+ [LDRPATH_INSTALL="-Wl,-R,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`:\$(DESTDIR)\${libdir}"
|
||||
LDRPATH_LOCAL="-Wl,-R,\\\$\$ORIGIN/\$(top_builddir)/libs/wine"])])
|
||||
|
||||
WINE_TRY_CFLAGS([-Wl,--enable-new-dtags],
|
||||
--
|
||||
1.7.9.5
|
||||
2.6.1
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From f791fc56711cd4860b405604af4b30b0efc22f52 Mon Sep 17 00:00:00 2001
|
||||
From 112abf989d718eb45388793f138d115eeda5b921 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Costa <titan.costa@gmail.com>
|
||||
Date: Sat, 5 Apr 2014 14:02:07 +0200
|
||||
Subject: d3dx9_36: Implement D3DXGetShaderInputSemantics + tests. (rev 3)
|
||||
@@ -6,13 +6,13 @@ Subject: d3dx9_36: Implement D3DXGetShaderInputSemantics + tests. (rev 3)
|
||||
Fixes bug 22682.
|
||||
---
|
||||
dlls/d3dx9_36/d3dx9_36.spec | 2 +-
|
||||
dlls/d3dx9_36/shader.c | 92 ++++++++++++++++++++++++++++++++++++++++++++
|
||||
dlls/d3dx9_36/tests/shader.c | 86 +++++++++++++++++++++++++++++++++++++++++
|
||||
dlls/d3dx9_36/shader.c | 93 ++++++++++++++++++++++++++++++++++++++++++++
|
||||
dlls/d3dx9_36/tests/shader.c | 86 ++++++++++++++++++++++++++++++++++++++++
|
||||
include/d3dx9shader.h | 1 +
|
||||
4 files changed, 180 insertions(+), 1 deletion(-)
|
||||
4 files changed, 181 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/d3dx9_36/d3dx9_36.spec b/dlls/d3dx9_36/d3dx9_36.spec
|
||||
index 15d693c..9b55d21 100644
|
||||
index f79b6fa..cba33b4 100644
|
||||
--- a/dlls/d3dx9_36/d3dx9_36.spec
|
||||
+++ b/dlls/d3dx9_36/d3dx9_36.spec
|
||||
@@ -159,7 +159,7 @@
|
||||
@@ -25,7 +25,7 @@ index 15d693c..9b55d21 100644
|
||||
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
|
||||
@ stdcall D3DXGetShaderSize(ptr)
|
||||
diff --git a/dlls/d3dx9_36/shader.c b/dlls/d3dx9_36/shader.c
|
||||
index cdc470b..fecc3ee 100644
|
||||
index e9d893b..2918bde 100644
|
||||
--- a/dlls/d3dx9_36/shader.c
|
||||
+++ b/dlls/d3dx9_36/shader.c
|
||||
@@ -1,6 +1,7 @@
|
||||
@@ -36,7 +36,7 @@ index cdc470b..fecc3ee 100644
|
||||
* Copyright 2011 Travis Athougies
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
@@ -2130,3 +2131,94 @@ HRESULT WINAPI D3DXDisassembleShader(const DWORD *shader, BOOL colorcode, const
|
||||
@@ -2151,3 +2152,95 @@ HRESULT WINAPI D3DXDisassembleShader(const DWORD *shader, BOOL colorcode, const
|
||||
FIXME("%p %d %s %p: stub\n", shader, colorcode, debugstr_a(comments), disassembly);
|
||||
return E_OUTOFMEMORY;
|
||||
}
|
||||
@@ -61,7 +61,7 @@ index cdc470b..fecc3ee 100644
|
||||
+ else
|
||||
+ {
|
||||
+ /* Handle remaining safe instructions */
|
||||
+ while (*++byte_code & (1 << 31));
|
||||
+ while (*++byte_code & (1u << 31));
|
||||
+ }
|
||||
+
|
||||
+ return byte_code;
|
||||
@@ -78,7 +78,7 @@ index cdc470b..fecc3ee 100644
|
||||
+
|
||||
+ while (*ptr != D3DSIO_END)
|
||||
+ {
|
||||
+ if (*ptr & (1 << 31))
|
||||
+ if (*ptr & (1u << 31))
|
||||
+ {
|
||||
+ FIXME("Opcode expected\n");
|
||||
+ return 0;
|
||||
@@ -87,9 +87,10 @@ index cdc470b..fecc3ee 100644
|
||||
+ {
|
||||
+ DWORD param1 = *++ptr;
|
||||
+ DWORD param2 = *++ptr;
|
||||
+ DWORD usage = param1 & 0x1f;
|
||||
+ DWORD usage_index = (param1 >> 16) & 0xf;
|
||||
+ DWORD reg_type = (((param2 >> 11) & 0x3) << 3) | ((param2 >> 28) & 0x7);
|
||||
+ DWORD usage = (param1 & D3DSP_DCL_USAGE_MASK) >> D3DSP_DCL_USAGE_SHIFT;
|
||||
+ DWORD usage_index = (param1 & D3DSP_DCL_USAGEINDEX_MASK) >> D3DSP_DCL_USAGEINDEX_SHIFT;
|
||||
+ DWORD reg_type = ((param2 & D3DSP_REGTYPE_MASK2) >> D3DSP_REGTYPE_SHIFT2)
|
||||
+ | ((param2 & D3DSP_REGTYPE_MASK) >> D3DSP_REGTYPE_SHIFT);
|
||||
+
|
||||
+ TRACE("D3DSIO_DCL param1: %#x, param2: %#x, usage: %u, usage_index: %u, reg_type: %u\n",
|
||||
+ param1, param2, usage, usage_index, reg_type);
|
||||
@@ -247,10 +248,10 @@ index 694540c..728cd86 100644
|
||||
+ test_get_shader_semantics();
|
||||
}
|
||||
diff --git a/include/d3dx9shader.h b/include/d3dx9shader.h
|
||||
index d665f72..f565432 100644
|
||||
index a3f68f2..5714ddb 100644
|
||||
--- a/include/d3dx9shader.h
|
||||
+++ b/include/d3dx9shader.h
|
||||
@@ -315,6 +315,7 @@ DWORD WINAPI D3DXGetShaderVersion(const DWORD *byte_code);
|
||||
@@ -352,6 +352,7 @@ DWORD WINAPI D3DXGetShaderVersion(const DWORD *byte_code);
|
||||
const char * WINAPI D3DXGetVertexShaderProfile(struct IDirect3DDevice9 *device);
|
||||
HRESULT WINAPI D3DXFindShaderComment(const DWORD *byte_code, DWORD fourcc, const void **data, UINT *size);
|
||||
HRESULT WINAPI D3DXGetShaderSamplers(const DWORD *byte_code, const char **samplers, UINT *count);
|
||||
@@ -259,5 +260,5 @@ index d665f72..f565432 100644
|
||||
HRESULT WINAPI D3DXAssembleShaderFromFileA(const char *filename, const D3DXMACRO *defines,
|
||||
ID3DXInclude *include, DWORD flags, ID3DXBuffer **shader, ID3DXBuffer **error_messages);
|
||||
--
|
||||
2.4.5
|
||||
2.6.1
|
||||
|
||||
|
@@ -1,8 +1,9 @@
|
||||
From f16ccf29286616feb69533c178cfccf2709184d6 Mon Sep 17 00:00:00 2001
|
||||
From b92b1b248050bc0b0b900de72b01cb79ef88df94 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Wed, 8 Jul 2015 10:55:03 +1000
|
||||
Subject: d3dx9_36: Implement D3DXGetShaderOutputSemantics. (rev 2)
|
||||
|
||||
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
---
|
||||
dlls/d3dx9_36/d3dx9_36.spec | 2 +-
|
||||
dlls/d3dx9_36/shader.c | 20 +++++++++++++++-
|
||||
@@ -11,7 +12,7 @@ Subject: d3dx9_36: Implement D3DXGetShaderOutputSemantics. (rev 2)
|
||||
4 files changed, 75 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3dx9_36/d3dx9_36.spec b/dlls/d3dx9_36/d3dx9_36.spec
|
||||
index 9b55d21..4ae1384 100644
|
||||
index cba33b4..7cbf499 100644
|
||||
--- a/dlls/d3dx9_36/d3dx9_36.spec
|
||||
+++ b/dlls/d3dx9_36/d3dx9_36.spec
|
||||
@@ -160,7 +160,7 @@
|
||||
@@ -24,19 +25,19 @@ index 9b55d21..4ae1384 100644
|
||||
@ stdcall D3DXGetShaderSize(ptr)
|
||||
@ stdcall D3DXGetShaderVersion(ptr)
|
||||
diff --git a/dlls/d3dx9_36/shader.c b/dlls/d3dx9_36/shader.c
|
||||
index fecc3ee..07e3ff1 100644
|
||||
index 39f1f31..c699299 100644
|
||||
--- a/dlls/d3dx9_36/shader.c
|
||||
+++ b/dlls/d3dx9_36/shader.c
|
||||
@@ -2171,7 +2171,7 @@ static UINT get_shader_semantics(const DWORD *byte_code, D3DXSEMANTIC *semantics
|
||||
@@ -2192,7 +2192,7 @@ static UINT get_shader_semantics(const DWORD *byte_code, D3DXSEMANTIC *semantics
|
||||
{
|
||||
if (*ptr & (1 << 31))
|
||||
if (*ptr & (1u << 31))
|
||||
{
|
||||
- FIXME("Opcode expected\n");
|
||||
+ FIXME("Opcode expected but got %#x\n", *ptr);
|
||||
return 0;
|
||||
}
|
||||
else if ((*ptr & D3DSI_OPCODE_MASK) == D3DSIO_DCL)
|
||||
@@ -2222,3 +2222,21 @@ HRESULT WINAPI D3DXGetShaderInputSemantics(const DWORD *byte_code, D3DXSEMANTIC
|
||||
@@ -2243,3 +2243,21 @@ HRESULT WINAPI D3DXGetShaderInputSemantics(const DWORD *byte_code, D3DXSEMANTIC
|
||||
|
||||
return D3D_OK;
|
||||
}
|
||||
@@ -59,7 +60,7 @@ index fecc3ee..07e3ff1 100644
|
||||
+ return D3D_OK;
|
||||
+}
|
||||
diff --git a/dlls/d3dx9_36/tests/shader.c b/dlls/d3dx9_36/tests/shader.c
|
||||
index 728cd86..62de9fb 100644
|
||||
index 728cd86..946143e 100644
|
||||
--- a/dlls/d3dx9_36/tests/shader.c
|
||||
+++ b/dlls/d3dx9_36/tests/shader.c
|
||||
@@ -6572,6 +6572,60 @@ static void test_get_shader_semantics(void)
|
||||
@@ -124,10 +125,10 @@ index 728cd86..62de9fb 100644
|
||||
|
||||
START_TEST(shader)
|
||||
diff --git a/include/d3dx9shader.h b/include/d3dx9shader.h
|
||||
index f565432..056033b 100644
|
||||
index 5714ddb..1176143 100644
|
||||
--- a/include/d3dx9shader.h
|
||||
+++ b/include/d3dx9shader.h
|
||||
@@ -316,6 +316,7 @@ const char * WINAPI D3DXGetVertexShaderProfile(struct IDirect3DDevice9 *device);
|
||||
@@ -353,6 +353,7 @@ const char * WINAPI D3DXGetVertexShaderProfile(struct IDirect3DDevice9 *device);
|
||||
HRESULT WINAPI D3DXFindShaderComment(const DWORD *byte_code, DWORD fourcc, const void **data, UINT *size);
|
||||
HRESULT WINAPI D3DXGetShaderSamplers(const DWORD *byte_code, const char **samplers, UINT *count);
|
||||
HRESULT WINAPI D3DXGetShaderInputSemantics(const DWORD *byte_code, D3DXSEMANTIC *semantics, UINT *count);
|
||||
@@ -136,5 +137,5 @@ index f565432..056033b 100644
|
||||
HRESULT WINAPI D3DXAssembleShaderFromFileA(const char *filename, const D3DXMACRO *defines,
|
||||
ID3DXInclude *include, DWORD flags, ID3DXBuffer **shader, ID3DXBuffer **error_messages);
|
||||
--
|
||||
2.4.5
|
||||
2.6.1
|
||||
|
||||
|
@@ -1 +1 @@
|
||||
Fixes: Make ddraw1 and ddraw_surface1 vtable as writable
|
||||
Fixes: [39534] Make ddraw1 and ddraw_surface1 vtable as writable
|
||||
|
@@ -1,11 +1,11 @@
|
||||
From 6564e70be47d7eede39141f62290577272588655 Mon Sep 17 00:00:00 2001
|
||||
From aff30eb5ce44d1f62c9c0a1419a89ba076dd93b8 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sun, 22 Feb 2015 01:25:20 +0100
|
||||
Subject: dxva2: Initial implementation of MPEG2 decoder using vaapi backend.
|
||||
|
||||
---
|
||||
configure.ac | 16 +
|
||||
dlls/dxva2/Makefile.in | 12 +-
|
||||
dlls/dxva2/Makefile.in | 14 +-
|
||||
dlls/dxva2/backend.idl | 94 ++++++
|
||||
dlls/dxva2/dxva2_private.h | 115 ++++++-
|
||||
dlls/dxva2/genericdecoder.c | 432 +++++++++++++++++++++++++
|
||||
@@ -14,14 +14,14 @@ Subject: dxva2: Initial implementation of MPEG2 decoder using vaapi backend.
|
||||
dlls/dxva2/vaapi-mpeg2.c | 753 +++++++++++++++++++++++++++++++++++++++++++
|
||||
dlls/dxva2/vaapi.c | 767 ++++++++++++++++++++++++++++++++++++++++++++
|
||||
dlls/dxva2/videoservices.c | 74 ++---
|
||||
10 files changed, 2290 insertions(+), 66 deletions(-)
|
||||
10 files changed, 2291 insertions(+), 67 deletions(-)
|
||||
create mode 100644 dlls/dxva2/backend.idl
|
||||
create mode 100644 dlls/dxva2/genericdecoder.c
|
||||
create mode 100644 dlls/dxva2/vaapi-mpeg2.c
|
||||
create mode 100644 dlls/dxva2/vaapi.c
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 22b46ae..db872d8 100644
|
||||
index fbcd3fb..324deba 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -99,6 +99,8 @@ AC_ARG_WITH(xxf86vm, AS_HELP_STRING([--without-xxf86vm],[do not use XFree vide
|
||||
@@ -33,7 +33,7 @@ index 22b46ae..db872d8 100644
|
||||
|
||||
AC_ARG_WITH(wine-tools,AS_HELP_STRING([--with-wine-tools=DIR],[use Wine tools from directory DIR]))
|
||||
AC_ARG_WITH(wine64, AS_HELP_STRING([--with-wine64=DIR],[use the 64-bit Wine in DIR for a Wow64 build]))
|
||||
@@ -1261,6 +1263,20 @@ This probably prevents linking to OpenGL. Try deleting the file and restarting c
|
||||
@@ -1265,6 +1267,20 @@ This probably prevents linking to OpenGL. Try deleting the file and restarting c
|
||||
WINE_WARNING_WITH(opengl,[test -n "$opengl_msg"],[$opengl_msg
|
||||
OpenGL and Direct3D won't be supported.])
|
||||
|
||||
@@ -55,7 +55,7 @@ index 22b46ae..db872d8 100644
|
||||
else
|
||||
X_CFLAGS=""
|
||||
diff --git a/dlls/dxva2/Makefile.in b/dlls/dxva2/Makefile.in
|
||||
index 4af9dc0..808173c 100644
|
||||
index 4af9dc0..afdefc3 100644
|
||||
--- a/dlls/dxva2/Makefile.in
|
||||
+++ b/dlls/dxva2/Makefile.in
|
||||
@@ -1,8 +1,14 @@
|
||||
@@ -67,15 +67,16 @@ index 4af9dc0..808173c 100644
|
||||
+ backend.idl
|
||||
|
||||
C_SRCS = \
|
||||
+ devicemanager.c \
|
||||
- main.c \
|
||||
- videoservices.c \
|
||||
devicemanager.c \
|
||||
- softwareprocessor.c
|
||||
+ genericdecoder.c \
|
||||
main.c \
|
||||
+ main.c \
|
||||
+ softwareprocessor.c \
|
||||
+ vaapi.c \
|
||||
+ vaapi-mpeg2.c \
|
||||
videoservices.c \
|
||||
- devicemanager.c \
|
||||
- softwareprocessor.c
|
||||
+ videoservices.c
|
||||
diff --git a/dlls/dxva2/backend.idl b/dlls/dxva2/backend.idl
|
||||
new file mode 100644
|
||||
index 0000000..dd37695
|
||||
@@ -2632,5 +2633,5 @@ index 46e431a..84222dc 100644
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
--
|
||||
2.3.0
|
||||
2.6.1
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From b4de3e81cdf0ba928d75455c871742d86920de13 Mon Sep 17 00:00:00 2001
|
||||
From 4ec62ff378a4051c25875bf620fa74170202256e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sun, 22 Feb 2015 01:43:36 +0100
|
||||
Subject: dxva2: Implement h264 decoder.
|
||||
@@ -12,7 +12,7 @@ Subject: dxva2: Implement h264 decoder.
|
||||
create mode 100644 dlls/dxva2/vaapi-h264.c
|
||||
|
||||
diff --git a/dlls/dxva2/Makefile.in b/dlls/dxva2/Makefile.in
|
||||
index 808173c..69ce4c8 100644
|
||||
index afdefc3..e527e96 100644
|
||||
--- a/dlls/dxva2/Makefile.in
|
||||
+++ b/dlls/dxva2/Makefile.in
|
||||
@@ -10,5 +10,6 @@ C_SRCS = \
|
||||
@@ -21,7 +21,7 @@ index 808173c..69ce4c8 100644
|
||||
vaapi.c \
|
||||
+ vaapi-h264.c \
|
||||
vaapi-mpeg2.c \
|
||||
videoservices.c \
|
||||
videoservices.c
|
||||
diff --git a/dlls/dxva2/dxva2_private.h b/dlls/dxva2/dxva2_private.h
|
||||
index f518637..5df59bd 100644
|
||||
--- a/dlls/dxva2/dxva2_private.h
|
||||
@@ -37,7 +37,7 @@ index f518637..5df59bd 100644
|
||||
#endif /* HAVE_VAAPI */
|
||||
diff --git a/dlls/dxva2/vaapi-h264.c b/dlls/dxva2/vaapi-h264.c
|
||||
new file mode 100644
|
||||
index 0000000..1a5817e
|
||||
index 0000000..08b6aed
|
||||
--- /dev/null
|
||||
+++ b/dlls/dxva2/vaapi-h264.c
|
||||
@@ -0,0 +1,890 @@
|
||||
@@ -932,7 +932,7 @@ index 0000000..1a5817e
|
||||
+
|
||||
+#endif /* HAVE_VAAPI */
|
||||
diff --git a/dlls/dxva2/vaapi.c b/dlls/dxva2/vaapi.c
|
||||
index 3369a03..404f1ab 100644
|
||||
index 80e63bf..4c570f5 100644
|
||||
--- a/dlls/dxva2/vaapi.c
|
||||
+++ b/dlls/dxva2/vaapi.c
|
||||
@@ -655,6 +655,8 @@ static HRESULT WINAPI WineVideoService_CreateVideoDecoder( IWineVideoService *if
|
||||
@@ -945,5 +945,5 @@ index 3369a03..404f1ab 100644
|
||||
return E_FAIL;
|
||||
}
|
||||
--
|
||||
2.1.0
|
||||
2.6.1
|
||||
|
||||
|
@@ -1,191 +0,0 @@
|
||||
From f3e41ff12cb58ee6cb5c36a447cfdeeda3eb21a2 Mon Sep 17 00:00:00 2001
|
||||
From: Anton Baskanov <baskanov@gmail.com>
|
||||
Date: Fri, 1 May 2015 13:02:28 +0600
|
||||
Subject: gdi32: Return default palette entries from GetSystemPaletteEntries
|
||||
for non-palette-based devices.
|
||||
|
||||
Fixes rendering artifacts in Marble Drop.
|
||||
|
||||
Changes by Sebastian Lackner <sebastian@fds-team.de>:
|
||||
* Added additional tests.
|
||||
* Fix comparison in GetSystemPaletteEntries.
|
||||
---
|
||||
dlls/gdi32/palette.c | 35 +++++++++++++-
|
||||
dlls/gdi32/tests/palette.c | 112 +++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 145 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/gdi32/palette.c b/dlls/gdi32/palette.c
|
||||
index d850d0f..70a75d8 100644
|
||||
--- a/dlls/gdi32/palette.c
|
||||
+++ b/dlls/gdi32/palette.c
|
||||
@@ -418,8 +418,39 @@ UINT WINAPI GetSystemPaletteEntries(
|
||||
|
||||
if ((dc = get_dc_ptr( hdc )))
|
||||
{
|
||||
- PHYSDEV physdev = GET_DC_PHYSDEV( dc, pGetSystemPaletteEntries );
|
||||
- ret = physdev->funcs->pGetSystemPaletteEntries( physdev, start, count, entries );
|
||||
+ if (!(GetDeviceCaps( hdc, RASTERCAPS ) & RC_PALETTE))
|
||||
+ {
|
||||
+ if (entries && start < 256)
|
||||
+ {
|
||||
+ UINT i;
|
||||
+ const RGBQUAD *default_entries;
|
||||
+
|
||||
+ if (start + count > 256) count = 256 - start;
|
||||
+
|
||||
+ default_entries = get_default_color_table( 8 );
|
||||
+ for (i = 0; i < count; ++i)
|
||||
+ {
|
||||
+ if (start + i < 10 || start + i >= 246)
|
||||
+ {
|
||||
+ entries[i].peRed = default_entries[start + i].rgbRed;
|
||||
+ entries[i].peGreen = default_entries[start + i].rgbGreen;
|
||||
+ entries[i].peBlue = default_entries[start + i].rgbBlue;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ entries[i].peRed = 0;
|
||||
+ entries[i].peGreen = 0;
|
||||
+ entries[i].peBlue = 0;
|
||||
+ }
|
||||
+ entries[i].peFlags = 0;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ PHYSDEV physdev = GET_DC_PHYSDEV( dc, pGetSystemPaletteEntries );
|
||||
+ ret = physdev->funcs->pGetSystemPaletteEntries( physdev, start, count, entries );
|
||||
+ }
|
||||
release_dc_ptr( dc );
|
||||
}
|
||||
return ret;
|
||||
diff --git a/dlls/gdi32/tests/palette.c b/dlls/gdi32/tests/palette.c
|
||||
index f95c0d3..09a00a5 100644
|
||||
--- a/dlls/gdi32/tests/palette.c
|
||||
+++ b/dlls/gdi32/tests/palette.c
|
||||
@@ -191,9 +191,121 @@ static void test_halftone_palette(void)
|
||||
ReleaseDC( 0, hdc );
|
||||
}
|
||||
|
||||
+static void test_system_palette_entries(void)
|
||||
+{
|
||||
+ HDC hdc;
|
||||
+ PALETTEENTRY entries[256];
|
||||
+ PALETTEENTRY defpal[20];
|
||||
+ int i, count;
|
||||
+
|
||||
+ hdc = GetDC(0);
|
||||
+
|
||||
+ if (!(GetDeviceCaps( hdc, RASTERCAPS ) & RC_PALETTE))
|
||||
+ {
|
||||
+ memset( defpal, 0xaa, sizeof(defpal) );
|
||||
+ count = GetPaletteEntries( GetStockObject(DEFAULT_PALETTE), 0, 20, defpal );
|
||||
+ ok( count == 20, "wrong size %u\n", count );
|
||||
+
|
||||
+ memset( entries, 0x55, sizeof(entries) );
|
||||
+ count = GetSystemPaletteEntries( hdc, 0, 256, entries );
|
||||
+ ok( count == 0, "wrong size %u\n", count);
|
||||
+ for (i = 0; i < 10; i++)
|
||||
+ {
|
||||
+ ok( entries[i].peRed == defpal[i].peRed &&
|
||||
+ entries[i].peGreen == defpal[i].peGreen &&
|
||||
+ entries[i].peBlue == defpal[i].peBlue &&
|
||||
+ !entries[i].peFlags,
|
||||
+ "%u: wrong color %02x,%02x,%02x,%02x instead of %02x,%02x,%02x\n", i,
|
||||
+ entries[i].peRed, entries[i].peGreen, entries[i].peBlue, entries[i].peFlags,
|
||||
+ defpal[i].peRed, defpal[i].peGreen, defpal[i].peBlue );
|
||||
+ }
|
||||
+ for (i = 10; i < 246; ++i)
|
||||
+ {
|
||||
+ ok( !entries[i].peRed &&
|
||||
+ !entries[i].peGreen &&
|
||||
+ !entries[i].peBlue &&
|
||||
+ !entries[i].peFlags,
|
||||
+ "%u: wrong color %02x,%02x,%02x,%02x instead of 0,0,0\n", i,
|
||||
+ entries[i].peRed, entries[i].peGreen, entries[i].peBlue, entries[i].peFlags);
|
||||
+ }
|
||||
+ for (i = 246; i < 256; i++)
|
||||
+ {
|
||||
+ int idx = i - 246 + 10;
|
||||
+ ok( entries[i].peRed == defpal[idx].peRed &&
|
||||
+ entries[i].peGreen == defpal[idx].peGreen &&
|
||||
+ entries[i].peBlue == defpal[idx].peBlue &&
|
||||
+ !entries[i].peFlags,
|
||||
+ "%u: wrong color %02x,%02x,%02x,%02x instead of %02x,%02x,%02x\n", i,
|
||||
+ entries[i].peRed, entries[i].peGreen, entries[i].peBlue, entries[i].peFlags,
|
||||
+ defpal[idx].peRed, defpal[idx].peGreen, defpal[idx].peBlue );
|
||||
+ }
|
||||
+
|
||||
+ memset( entries, 0x55, sizeof(entries) );
|
||||
+ count = GetSystemPaletteEntries( hdc, 0, 10, entries );
|
||||
+ ok( count == 0, "wrong size %u\n", count);
|
||||
+ for (i = 0; i < 10; i++)
|
||||
+ {
|
||||
+ ok( entries[i].peRed == defpal[i].peRed &&
|
||||
+ entries[i].peGreen == defpal[i].peGreen &&
|
||||
+ entries[i].peBlue == defpal[i].peBlue &&
|
||||
+ !entries[i].peFlags,
|
||||
+ "%u: wrong color %02x,%02x,%02x,%02x instead of %02x,%02x,%02x\n", i,
|
||||
+ entries[i].peRed, entries[i].peGreen, entries[i].peBlue, entries[i].peFlags,
|
||||
+ defpal[i].peRed, defpal[i].peGreen, defpal[i].peBlue );
|
||||
+ }
|
||||
+
|
||||
+ memset( entries, 0x55, sizeof(entries) );
|
||||
+ count = GetSystemPaletteEntries( hdc, 10, 246, entries );
|
||||
+ ok( count == 0, "wrong size %u\n", count);
|
||||
+ for (i = 0; i < 236; ++i)
|
||||
+ {
|
||||
+ ok( !entries[i].peRed &&
|
||||
+ !entries[i].peGreen &&
|
||||
+ !entries[i].peBlue &&
|
||||
+ !entries[i].peFlags,
|
||||
+ "%u: wrong color %02x,%02x,%02x,%02x instead of 0,0,0\n", i,
|
||||
+ entries[i].peRed, entries[i].peGreen, entries[i].peBlue, entries[i].peFlags);
|
||||
+ }
|
||||
+ for (i = 236; i < 246; i++)
|
||||
+ {
|
||||
+ int idx = i - 236 + 10;
|
||||
+ ok( entries[i].peRed == defpal[idx].peRed &&
|
||||
+ entries[i].peGreen == defpal[idx].peGreen &&
|
||||
+ entries[i].peBlue == defpal[idx].peBlue &&
|
||||
+ !entries[i].peFlags,
|
||||
+ "%u: wrong color %02x,%02x,%02x,%02x instead of %02x,%02x,%02x\n", i,
|
||||
+ entries[i].peRed, entries[i].peGreen, entries[i].peBlue, entries[i].peFlags,
|
||||
+ defpal[idx].peRed, defpal[idx].peGreen, defpal[idx].peBlue );
|
||||
+ }
|
||||
+
|
||||
+ memset( entries, 0x55, sizeof(entries) );
|
||||
+ count = GetSystemPaletteEntries( hdc, 246, 10, entries );
|
||||
+ ok( count == 0, "wrong size %u\n", count);
|
||||
+ for (i = 0; i < 10; i++)
|
||||
+ {
|
||||
+ int idx = i + 10;
|
||||
+ ok( entries[i].peRed == defpal[idx].peRed &&
|
||||
+ entries[i].peGreen == defpal[idx].peGreen &&
|
||||
+ entries[i].peBlue == defpal[idx].peBlue &&
|
||||
+ !entries[i].peFlags,
|
||||
+ "%u: wrong color %02x,%02x,%02x,%02x instead of %02x,%02x,%02x\n", i,
|
||||
+ entries[i].peRed, entries[i].peGreen, entries[i].peBlue, entries[i].peFlags,
|
||||
+ defpal[idx].peRed, defpal[idx].peGreen, defpal[idx].peBlue );
|
||||
+ }
|
||||
+
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ skip( "device is palette-based, skipping test\n" );
|
||||
+ }
|
||||
+
|
||||
+ ReleaseDC( 0, hdc );
|
||||
+}
|
||||
+
|
||||
START_TEST(palette)
|
||||
{
|
||||
test_DIB_PAL_COLORS();
|
||||
test_palette_entries();
|
||||
test_halftone_palette();
|
||||
+ test_system_palette_entries();
|
||||
}
|
||||
--
|
||||
2.3.7
|
||||
|
@@ -1 +0,0 @@
|
||||
Fixes: [36895] Return default palette entries from GetSystemPaletteEntries for non-palette-based devices
|
@@ -1,26 +1,18 @@
|
||||
From 2e0137d4d9706af5cc208171358b74ef614770de Mon Sep 17 00:00:00 2001
|
||||
From 804021e621413998b319f887eed3f754df784fcd Mon Sep 17 00:00:00 2001
|
||||
From: Ken Thomases <ken@codeweavers.com>
|
||||
Date: Thu, 27 Mar 2014 18:18:46 -0500
|
||||
Subject: winemac: Make GetMonitorInfo() give a different device name
|
||||
(\\.\DISPLAY<n>) to each monitor.
|
||||
|
||||
---
|
||||
dlls/winemac.drv/display.c | 11 +++++++----
|
||||
1 file changed, 7 insertions(+), 4 deletions(-)
|
||||
dlls/winemac.drv/display.c | 10 ++++++----
|
||||
1 file changed, 6 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/dlls/winemac.drv/display.c b/dlls/winemac.drv/display.c
|
||||
index 10ecf67..c708481 100644
|
||||
index e1357d8..f82289d 100644
|
||||
--- a/dlls/winemac.drv/display.c
|
||||
+++ b/dlls/winemac.drv/display.c
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "winuser.h"
|
||||
#include "winreg.h"
|
||||
#include "ddrawi.h"
|
||||
+#include "wine/unicode.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(display);
|
||||
|
||||
@@ -935,7 +936,7 @@ done:
|
||||
@@ -1210,7 +1210,7 @@ done:
|
||||
*/
|
||||
BOOL CDECL macdrv_GetMonitorInfo(HMONITOR monitor, LPMONITORINFO info)
|
||||
{
|
||||
@@ -29,7 +21,7 @@ index 10ecf67..c708481 100644
|
||||
struct macdrv_display *displays;
|
||||
int num_displays;
|
||||
CGDirectDisplayID display_id;
|
||||
@@ -965,10 +966,12 @@ BOOL CDECL macdrv_GetMonitorInfo(HMONITOR monitor, LPMONITORINFO info)
|
||||
@@ -1240,10 +1240,12 @@ BOOL CDECL macdrv_GetMonitorInfo(HMONITOR monitor, LPMONITORINFO info)
|
||||
info->dwFlags = (i == 0) ? MONITORINFOF_PRIMARY : 0;
|
||||
|
||||
if (info->cbSize >= sizeof(MONITORINFOEXW))
|
||||
@@ -46,5 +38,5 @@ index 10ecf67..c708481 100644
|
||||
else
|
||||
{
|
||||
--
|
||||
2.5.1
|
||||
2.6.1
|
||||
|
||||
|
@@ -0,0 +1,44 @@
|
||||
From 32b4634ca8534cf05469e39991891d9fb0f50f4c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Wed, 28 Oct 2015 22:36:01 +0100
|
||||
Subject: hal: Implement KeQueryPerformanceCounter.
|
||||
|
||||
---
|
||||
dlls/hal/hal.c | 10 ++++++++++
|
||||
dlls/hal/hal.spec | 2 +-
|
||||
2 files changed, 11 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/hal/hal.c b/dlls/hal/hal.c
|
||||
index 96bc895..7baebcd 100644
|
||||
--- a/dlls/hal/hal.c
|
||||
+++ b/dlls/hal/hal.c
|
||||
@@ -155,3 +155,13 @@ KIRQL WINAPI KeGetCurrentIrql(VOID)
|
||||
FIXME( " stub!\n");
|
||||
return 0;
|
||||
}
|
||||
+
|
||||
+LARGE_INTEGER WINAPI KeQueryPerformanceCounter(LARGE_INTEGER *frequency)
|
||||
+{
|
||||
+ LARGE_INTEGER counter;
|
||||
+
|
||||
+ TRACE("(%p)\n", frequency);
|
||||
+
|
||||
+ NtQueryPerformanceCounter(&counter, frequency);
|
||||
+ return counter;
|
||||
+}
|
||||
diff --git a/dlls/hal/hal.spec b/dlls/hal/hal.spec
|
||||
index 3046c65..dc908dd 100644
|
||||
--- a/dlls/hal/hal.spec
|
||||
+++ b/dlls/hal/hal.spec
|
||||
@@ -72,7 +72,7 @@
|
||||
@ stub KeFlushWriteBuffer
|
||||
@ stdcall KeGetCurrentIrql()
|
||||
@ stub KeLowerIrql
|
||||
-@ stub KeQueryPerformanceCounter
|
||||
+@ stdcall -ret64 KeQueryPerformanceCounter(ptr)
|
||||
@ stub KeRaiseIrql
|
||||
@ stub KeRaiseIrqlToDpcLevel
|
||||
@ stub KeRaiseIrqlToSynchLevel
|
||||
--
|
||||
2.6.1
|
||||
|
1
patches/hal-KeQueryPerformanceCounter/definition
Normal file
1
patches/hal-KeQueryPerformanceCounter/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: [39500] Implement hal.KeQueryPerformanceCounter
|
@@ -0,0 +1,78 @@
|
||||
From 1b1bec9415d3ed3ada5ed6fbc5e4d9a30797cbc9 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 31 Oct 2015 02:27:14 +0100
|
||||
Subject: hnetcfg: Improve
|
||||
INetFwAuthorizedApplication::get_ProcessImageFileName stub.
|
||||
|
||||
---
|
||||
dlls/hnetcfg/apps.c | 26 ++++++++++++++++++++++++--
|
||||
1 file changed, 24 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/hnetcfg/apps.c b/dlls/hnetcfg/apps.c
|
||||
index d21ed98..7a8d5e8 100644
|
||||
--- a/dlls/hnetcfg/apps.c
|
||||
+++ b/dlls/hnetcfg/apps.c
|
||||
@@ -38,6 +38,7 @@ typedef struct fw_app
|
||||
{
|
||||
INetFwAuthorizedApplication INetFwAuthorizedApplication_iface;
|
||||
LONG refs;
|
||||
+ BSTR filename;
|
||||
} fw_app;
|
||||
|
||||
static inline fw_app *impl_from_INetFwAuthorizedApplication( INetFwAuthorizedApplication *iface )
|
||||
@@ -60,6 +61,7 @@ static ULONG WINAPI fw_app_Release(
|
||||
if (!refs)
|
||||
{
|
||||
TRACE("destroying %p\n", fw_app);
|
||||
+ if (fw_app->filename) SysFreeString( fw_app->filename );
|
||||
HeapFree( GetProcessHeap(), 0, fw_app );
|
||||
}
|
||||
return refs;
|
||||
@@ -250,7 +252,18 @@ static HRESULT WINAPI fw_app_get_ProcessImageFileName(
|
||||
fw_app *This = impl_from_INetFwAuthorizedApplication( iface );
|
||||
|
||||
FIXME("%p, %p\n", This, imageFileName);
|
||||
- return E_NOTIMPL;
|
||||
+
|
||||
+ if (!imageFileName)
|
||||
+ return E_INVALIDARG;
|
||||
+
|
||||
+ if (!This->filename)
|
||||
+ {
|
||||
+ *imageFileName = NULL;
|
||||
+ return S_OK;
|
||||
+ }
|
||||
+
|
||||
+ *imageFileName = SysAllocString( This->filename );
|
||||
+ return *imageFileName ? S_OK : E_OUTOFMEMORY;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI fw_app_put_ProcessImageFileName(
|
||||
@@ -260,7 +273,15 @@ static HRESULT WINAPI fw_app_put_ProcessImageFileName(
|
||||
fw_app *This = impl_from_INetFwAuthorizedApplication( iface );
|
||||
|
||||
FIXME("%p, %s\n", This, debugstr_w(imageFileName));
|
||||
- return S_OK;
|
||||
+
|
||||
+ if (!imageFileName)
|
||||
+ {
|
||||
+ This->filename = NULL;
|
||||
+ return S_OK;
|
||||
+ }
|
||||
+
|
||||
+ This->filename = SysAllocString( imageFileName );
|
||||
+ return This->filename ? S_OK : E_OUTOFMEMORY;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI fw_app_get_IpVersion(
|
||||
@@ -383,6 +404,7 @@ HRESULT NetFwAuthorizedApplication_create( IUnknown *pUnkOuter, LPVOID *ppObj )
|
||||
|
||||
fa->INetFwAuthorizedApplication_iface.lpVtbl = &fw_app_vtbl;
|
||||
fa->refs = 1;
|
||||
+ fa->filename = NULL;
|
||||
|
||||
*ppObj = &fa->INetFwAuthorizedApplication_iface;
|
||||
|
||||
--
|
||||
2.6.1
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user