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
Rebase against 0922865b377913a27cea568ac688787a8117d8a7.
Rebasing of CSMT will need some additional work / thoughts.
This commit is contained in:
@ -39,14 +39,13 @@ Wine. All those differences are also documented on the
|
||||
Included bug fixes and improvements
|
||||
-----------------------------------
|
||||
|
||||
**Bug fixes and features included in the next upcoming release [19]:**
|
||||
**Bug fixes and features included in the next upcoming release [18]:**
|
||||
|
||||
* Add implementation for kernel32.GetNumaProcessorNode ([Wine Bug #38660](https://bugs.winehq.org/show_bug.cgi?id=38660))
|
||||
* Add semi-stub for FileFsVolumeInformation information class ([Wine Bug #21466](https://bugs.winehq.org/show_bug.cgi?id=21466))
|
||||
* Allow to enable/disable InsertMode in wineconsole settings ([Wine Bug #38697](https://bugs.winehq.org/show_bug.cgi?id=38697))
|
||||
* Allow to set pixel format for desktop window
|
||||
* Fix endless loop in regedit when importing files with very long lines
|
||||
* Fix handling of periodic advice timers causing high CPU usage
|
||||
* Fix link notification conditions for riched20 ([Wine Bug #35949](https://bugs.winehq.org/show_bug.cgi?id=35949))
|
||||
* Implement default homepage button in inetcpl.cpl
|
||||
* Implement mscoree._CorValidateImage for mono runtime ([Wine Bug #38662](https://bugs.winehq.org/show_bug.cgi?id=38662))
|
||||
@ -72,7 +71,7 @@ releases, take a look at the
|
||||
for more details.*
|
||||
|
||||
* Add HTTP Host header in HttpSendRequest instead of HttpOpenRequest ([Wine Bug #28911](https://bugs.winehq.org/show_bug.cgi?id=28911))
|
||||
* Add IEnumString stub interface for ACLShellSource ([Wine Bug #18019](https://bugs.winehq.org/show_bug.cgi?id=18019))
|
||||
* ~~Add IEnumString stub interface for ACLShellSource~~ ([Wine Bug #18019](https://bugs.winehq.org/show_bug.cgi?id=18019))
|
||||
* Add a ProfileList\<UserSID> registry subkey ([Wine Bug #15670](https://bugs.winehq.org/show_bug.cgi?id=15670))
|
||||
* Add implementation for CreateThreadpool ([Wine Bug #35192](https://bugs.winehq.org/show_bug.cgi?id=35192))
|
||||
* Add implementation for mfplat.MFTRegister ([Wine Bug #37811](https://bugs.winehq.org/show_bug.cgi?id=37811))
|
||||
@ -115,7 +114,7 @@ for more details.*
|
||||
* Allow to open files/directories without any access rights in order to query attributes
|
||||
* Allow to override number of quality levels for D3DMULTISAMPLE_NONMASKABLE. ([Wine Bug #12652](https://bugs.winehq.org/show_bug.cgi?id=12652))
|
||||
* ~~Also handle '\r' as whitespace in wbemprox queries~~
|
||||
* Also output winedbg system information to the terminal, not only to dialog
|
||||
* ~~Also output winedbg system information to the terminal, not only to dialog~~
|
||||
* Anno 1602 installer depends on Windows 98 behavior of SHFileOperationW ([Wine Bug #37916](https://bugs.winehq.org/show_bug.cgi?id=37916))
|
||||
* Assign a drive serial number during prefix creation/update ([Wine Bug #17823](https://bugs.winehq.org/show_bug.cgi?id=17823))
|
||||
* Audio stuttering and performance drops in multiple applications ([Wine Bug #30639](https://bugs.winehq.org/show_bug.cgi?id=30639))
|
||||
|
4
debian/changelog
vendored
4
debian/changelog
vendored
@ -44,8 +44,12 @@ wine-staging (1.7.45) UNRELEASED; urgency=low
|
||||
upstream).
|
||||
* Removed patch to make sure OpenClipboard with current owner doesn't fail
|
||||
(accepted upstream).
|
||||
* Removed patch to add IEnumString stub interface for ACLShellSource (fixed
|
||||
upstream).
|
||||
* Removed patch to fix NULL pointer dereference in get_frame_by_name
|
||||
(identical patch accepted upstream).
|
||||
* Removed patch to output winedbg system information also to the terminal
|
||||
(accepted upstream).
|
||||
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 31 May 2015 14:46:37 +0200
|
||||
|
||||
wine-staging (1.7.44) unstable; urgency=low
|
||||
|
@ -1,123 +0,0 @@
|
||||
From 49050987e49d61420d2d46dc167551ff439a537a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Wed, 13 May 2015 01:31:35 +0200
|
||||
Subject: browseui: Add IEnumString stub interface for ACLShellSource.
|
||||
|
||||
---
|
||||
dlls/browseui/aclsource.c | 72 +++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 72 insertions(+)
|
||||
|
||||
diff --git a/dlls/browseui/aclsource.c b/dlls/browseui/aclsource.c
|
||||
index 07033cc..bb98b33 100644
|
||||
--- a/dlls/browseui/aclsource.c
|
||||
+++ b/dlls/browseui/aclsource.c
|
||||
@@ -44,6 +44,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(browseui);
|
||||
|
||||
typedef struct tagACLMulti {
|
||||
IACList2 IACList2_iface;
|
||||
+ IEnumString IEnumString_iface;
|
||||
LONG refCount;
|
||||
DWORD dwOptions;
|
||||
} ACLShellSource;
|
||||
@@ -53,6 +54,11 @@ static inline ACLShellSource *impl_from_IACList2(IACList2 *iface)
|
||||
return CONTAINING_RECORD(iface, ACLShellSource, IACList2_iface);
|
||||
}
|
||||
|
||||
+static inline ACLShellSource *impl_from_IEnumString(IEnumString *iface)
|
||||
+{
|
||||
+ return CONTAINING_RECORD(iface, ACLShellSource, IEnumString_iface);
|
||||
+}
|
||||
+
|
||||
static void ACLShellSource_Destructor(ACLShellSource *This)
|
||||
{
|
||||
TRACE("destroying %p\n", This);
|
||||
@@ -69,6 +75,10 @@ static HRESULT WINAPI ACLShellSource_QueryInterface(IACList2 *iface, REFIID iid,
|
||||
{
|
||||
*ppvOut = &This->IACList2_iface;
|
||||
}
|
||||
+ else if(IsEqualIID(iid, &IID_IEnumString))
|
||||
+ {
|
||||
+ *ppvOut = &This->IEnumString_iface;
|
||||
+ }
|
||||
|
||||
if (*ppvOut)
|
||||
{
|
||||
@@ -133,6 +143,67 @@ static const IACList2Vtbl ACLMulti_ACList2Vtbl =
|
||||
ACLShellSource_GetOptions
|
||||
};
|
||||
|
||||
+static HRESULT WINAPI ACLShellSource_IEnumString_QueryInterface(IEnumString *iface, REFIID iid, LPVOID *ppvOut)
|
||||
+{
|
||||
+ ACLShellSource *This = impl_from_IEnumString(iface);
|
||||
+ return ACLShellSource_QueryInterface(&This->IACList2_iface, iid, ppvOut);
|
||||
+}
|
||||
+
|
||||
+static ULONG WINAPI ACLShellSource_IEnumString_AddRef(IEnumString *iface)
|
||||
+{
|
||||
+ ACLShellSource *This = impl_from_IEnumString(iface);
|
||||
+ return ACLShellSource_AddRef(&This->IACList2_iface);
|
||||
+}
|
||||
+
|
||||
+static ULONG WINAPI ACLShellSource_IEnumString_Release(IEnumString *iface)
|
||||
+{
|
||||
+ ACLShellSource *This = impl_from_IEnumString(iface);
|
||||
+ return ACLShellSource_Release(&This->IACList2_iface);
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI ACLShellSource_IEnumString_Next(IEnumString *iface, ULONG celt, LPOLESTR *rgelt, ULONG *pceltFetched)
|
||||
+{
|
||||
+ FIXME("(%p, %d, %p, %p): stub\n", iface, celt, rgelt, pceltFetched);
|
||||
+
|
||||
+ if (celt)
|
||||
+ *rgelt = NULL;
|
||||
+ if (pceltFetched)
|
||||
+ *pceltFetched = 0;
|
||||
+
|
||||
+ return S_FALSE;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI ACLShellSource_IEnumString_Reset(IEnumString *iface)
|
||||
+{
|
||||
+ FIXME("(%p): stub\n", iface);
|
||||
+ return S_OK;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI ACLShellSource_IEnumString_Skip(IEnumString *iface, ULONG celt)
|
||||
+{
|
||||
+ FIXME("(%p, %u): stub\n", iface, celt);
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI ACLShellSource_IEnumString_Clone(IEnumString *iface, IEnumString **ppOut)
|
||||
+{
|
||||
+ FIXME("(%p, %p): stub\n", iface, ppOut);
|
||||
+ *ppOut = NULL;
|
||||
+ return E_OUTOFMEMORY;
|
||||
+}
|
||||
+
|
||||
+static const IEnumStringVtbl ACLShellSource_EnumStringVtbl =
|
||||
+{
|
||||
+ ACLShellSource_IEnumString_QueryInterface,
|
||||
+ ACLShellSource_IEnumString_AddRef,
|
||||
+ ACLShellSource_IEnumString_Release,
|
||||
+
|
||||
+ ACLShellSource_IEnumString_Next,
|
||||
+ ACLShellSource_IEnumString_Skip,
|
||||
+ ACLShellSource_IEnumString_Reset,
|
||||
+ ACLShellSource_IEnumString_Clone
|
||||
+};
|
||||
+
|
||||
HRESULT ACLShellSource_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
|
||||
{
|
||||
ACLShellSource *This;
|
||||
@@ -144,6 +215,7 @@ HRESULT ACLShellSource_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
|
||||
return E_OUTOFMEMORY;
|
||||
|
||||
This->IACList2_iface.lpVtbl = &ACLMulti_ACList2Vtbl;
|
||||
+ This->IEnumString_iface.lpVtbl = &ACLShellSource_EnumStringVtbl;
|
||||
This->refCount = 1;
|
||||
|
||||
TRACE("returning %p\n", This);
|
||||
--
|
||||
2.4.0
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: [18019] Add IEnumString stub interface for ACLShellSource
|
@ -1,39 +1,20 @@
|
||||
From 40983a8c7b9a83a931ac274e3ce5cdd18e9753d5 Mon Sep 17 00:00:00 2001
|
||||
From df8e954e44bbaa2f4631a3fc71a23609fc704e5e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 26 Feb 2015 05:28:23 +0100
|
||||
Subject: include: Declare a couple more file information class structures.
|
||||
|
||||
---
|
||||
include/winbase.h | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 67 insertions(+)
|
||||
include/winbase.h | 37 +++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 37 insertions(+)
|
||||
|
||||
diff --git a/include/winbase.h b/include/winbase.h
|
||||
index b3066ca..12fe2b0 100644
|
||||
index 4795d87..28313e3 100644
|
||||
--- a/include/winbase.h
|
||||
+++ b/include/winbase.h
|
||||
@@ -844,6 +844,73 @@ typedef struct _FILE_NAME_INFO {
|
||||
WCHAR FileName[1];
|
||||
} FILE_NAME_INFO, *PFILE_NAME_INFO;
|
||||
@@ -874,6 +874,43 @@ typedef struct _FILE_RENAME_INFO {
|
||||
WCHAR FileName[1];
|
||||
} FILE_RENAME_INFO, *PFILE_RENAME_INFO;
|
||||
|
||||
+typedef struct _FILE_RENAME_INFO {
|
||||
+ BOOLEAN ReplaceIfExists;
|
||||
+ HANDLE RootDirectory;
|
||||
+ DWORD FileNameLength;
|
||||
+ WCHAR FileName[1];
|
||||
+} FILE_RENAME_INFO, *PFILE_RENAME_INFO;
|
||||
+
|
||||
+typedef struct _FILE_DISPOSITION_INFO {
|
||||
+ BOOLEAN DoDeleteFile;
|
||||
+} FILE_DISPOSITION_INFO, *PFILE_DISPOSITION_INFO;
|
||||
+
|
||||
+typedef struct _FILE_ALLOCATION_INFO {
|
||||
+ LARGE_INTEGER AllocationSize;
|
||||
+} FILE_ALLOCATION_INFO, *PFILE_ALLOCATION_INFO;
|
||||
+
|
||||
+typedef struct _FILE_END_OF_FILE_INFO {
|
||||
+ LARGE_INTEGER EndOfFile;
|
||||
+} FILE_END_OF_FILE_INFO, *PFILE_END_OF_FILE_INFO;
|
||||
+
|
||||
+typedef struct _FILE_STREAM_INFO {
|
||||
+ DWORD NextEntryOffset;
|
||||
+ DWORD StreamNameLength;
|
||||
@ -70,21 +51,10 @@ index b3066ca..12fe2b0 100644
|
||||
+ ULONG EaSize;
|
||||
+ WCHAR FileName[1];
|
||||
+} FILE_FULL_DIR_INFO, *PFILE_FULL_DIR_INFO;
|
||||
+
|
||||
+typedef enum _PRIORITY_HINT {
|
||||
+ IoPriorityHintVeryLow = 0,
|
||||
+ IoPriorityHintLow,
|
||||
+ IoPriorityHintNormal,
|
||||
+ MaximumIoPriorityHintType
|
||||
+} PRIORITY_HINT;
|
||||
+
|
||||
+typedef struct _FILE_IO_PRIORITY_HINT_INFO {
|
||||
+ PRIORITY_HINT PriorityHint;
|
||||
+} FILE_IO_PRIORITY_HINT_INFO, *PFILE_IO_PRIORITY_HINT_INFO;
|
||||
+
|
||||
#define PIPE_ACCESS_INBOUND 1
|
||||
#define PIPE_ACCESS_OUTBOUND 2
|
||||
#define PIPE_ACCESS_DUPLEX 3
|
||||
--
|
||||
2.4.0
|
||||
2.4.2
|
||||
|
||||
|
@ -1,286 +0,0 @@
|
||||
From 2c9bd8d13fbe12697f121e3391d9a477afc58235 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Fri, 5 Jun 2015 07:32:40 +0200
|
||||
Subject: kernel32/tests: Add tests for virtual memory align behaviour.
|
||||
|
||||
---
|
||||
dlls/kernel32/tests/virtual.c | 201 +++++++++++++++++++++++++++++++++++++++++-
|
||||
include/winnt.h | 1 +
|
||||
2 files changed, 200 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/virtual.c b/dlls/kernel32/tests/virtual.c
|
||||
index 4f50df8..497d401 100644
|
||||
--- a/dlls/kernel32/tests/virtual.c
|
||||
+++ b/dlls/kernel32/tests/virtual.c
|
||||
@@ -47,7 +47,10 @@ static struct _TEB * (WINAPI *pNtCurrentTeb)(void);
|
||||
static PVOID (WINAPI *pRtlAddVectoredExceptionHandler)(ULONG, PVECTORED_EXCEPTION_HANDLER);
|
||||
static ULONG (WINAPI *pRtlRemoveVectoredExceptionHandler)(PVOID);
|
||||
static BOOL (WINAPI *pGetProcessDEPPolicy)(HANDLE, LPDWORD, PBOOL);
|
||||
+static BOOL (WINAPI *pIsWow64Process)(HANDLE, PBOOL);
|
||||
static NTSTATUS (WINAPI *pNtProtectVirtualMemory)(HANDLE, PVOID *, SIZE_T *, ULONG, ULONG *);
|
||||
+static NTSTATUS (WINAPI *pNtAllocateVirtualMemory)(HANDLE, PVOID *, ULONG, SIZE_T *, ULONG, ULONG);
|
||||
+static NTSTATUS (WINAPI *pNtFreeVirtualMemory)(HANDLE, PVOID *, SIZE_T *, ULONG);
|
||||
|
||||
/* ############################### */
|
||||
|
||||
@@ -237,6 +240,8 @@ static void test_VirtualAlloc(void)
|
||||
void *addr1, *addr2;
|
||||
DWORD old_prot;
|
||||
MEMORY_BASIC_INFORMATION info;
|
||||
+ NTSTATUS status;
|
||||
+ SIZE_T size;
|
||||
|
||||
SetLastError(0xdeadbeef);
|
||||
addr1 = VirtualAlloc(0, 0, MEM_RESERVE, PAGE_NOACCESS);
|
||||
@@ -372,6 +377,42 @@ static void test_VirtualAlloc(void)
|
||||
"got %d, expected ERROR_INVALID_PARAMETER\n", GetLastError());
|
||||
|
||||
ok(VirtualFree(addr1, 0, MEM_RELEASE), "VirtualFree failed\n");
|
||||
+
|
||||
+ addr1 = VirtualAlloc(0, 0x1000, MEM_RESERVE | MEM_COMMIT, PAGE_EXECUTE_READWRITE);
|
||||
+ ok(addr1 != NULL, "VirtualAlloc failed\n");
|
||||
+ ok(!((ULONG_PTR)addr1 & 0xffff), "returned memory %p is not aligned to 64k\n", addr1);
|
||||
+
|
||||
+ /* allocation conflicts because of 64k align */
|
||||
+ size = 0x1000;
|
||||
+ addr2 = (char *)addr1 + 0x1000;
|
||||
+ status = pNtAllocateVirtualMemory(GetCurrentProcess(), &addr2, 0, &size,
|
||||
+ MEM_RESERVE | MEM_COMMIT, PAGE_EXECUTE_READWRITE);
|
||||
+ ok(status == STATUS_CONFLICTING_ADDRESSES, "NtAllocateVirtualMemory returned %08x\n", status);
|
||||
+
|
||||
+ /* it should conflict, even when zero_bits is explicitly set */
|
||||
+ size = 0x1000;
|
||||
+ addr2 = (char *)addr1 + 0x1000;
|
||||
+ status = pNtAllocateVirtualMemory(GetCurrentProcess(), &addr2, 12, &size,
|
||||
+ MEM_RESERVE | MEM_COMMIT, PAGE_EXECUTE_READWRITE);
|
||||
+ todo_wine
|
||||
+ ok(status == STATUS_CONFLICTING_ADDRESSES, "NtAllocateVirtualMemory returned %08x\n", status);
|
||||
+ if (status == STATUS_SUCCESS) ok(VirtualFree(addr2, 0, MEM_RELEASE), "VirtualFree failed\n");
|
||||
+
|
||||
+ /* AT_ROUND_TO_PAGE flag is not supported for VirtualAlloc */
|
||||
+ SetLastError(0xdeadbeef);
|
||||
+ addr2 = VirtualAlloc(addr1, 0x1000, MEM_RESERVE | MEM_COMMIT | AT_ROUND_TO_PAGE, PAGE_EXECUTE_READWRITE);
|
||||
+ ok(!addr2, "VirtualAlloc unexpectedly succeeded\n");
|
||||
+ ok(GetLastError() == ERROR_INVALID_PARAMETER, "got %d, expected ERROR_INVALID_PARAMETER\n", GetLastError());
|
||||
+
|
||||
+ /* AT_ROUND_TO_PAGE flag is not suppoted for NtAllocateVirtualMemory */
|
||||
+ size = 0x1000;
|
||||
+ addr2 = (char *)addr1 + 0x1000;
|
||||
+ status = pNtAllocateVirtualMemory(GetCurrentProcess(), &addr2, 0, &size, MEM_RESERVE |
|
||||
+ MEM_COMMIT | AT_ROUND_TO_PAGE, PAGE_EXECUTE_READWRITE);
|
||||
+ todo_wine
|
||||
+ ok(status == STATUS_INVALID_PARAMETER_5, "NtAllocateVirtualMemory returned %08x\n", status);
|
||||
+
|
||||
+ ok(VirtualFree(addr1, 0, MEM_RELEASE), "VirtualFree failed\n");
|
||||
}
|
||||
|
||||
static void test_MapViewOfFile(void)
|
||||
@@ -957,8 +998,8 @@ static void test_NtMapViewOfSection(void)
|
||||
static const char data[] = "test data for NtMapViewOfSection";
|
||||
char buffer[sizeof(data)];
|
||||
HANDLE file, mapping;
|
||||
- void *ptr;
|
||||
- BOOL ret;
|
||||
+ void *ptr, *ptr2;
|
||||
+ BOOL is_wow64, ret;
|
||||
DWORD status, written;
|
||||
SIZE_T size, result;
|
||||
LARGE_INTEGER offset;
|
||||
@@ -988,12 +1029,165 @@ static void test_NtMapViewOfSection(void)
|
||||
offset.QuadPart = 0;
|
||||
status = pNtMapViewOfSection( mapping, hProcess, &ptr, 0, 0, &offset, &size, 1, 0, PAGE_READWRITE );
|
||||
ok( !status, "NtMapViewOfSection failed status %x\n", status );
|
||||
+ ok( !((ULONG_PTR)ptr & 0xffff), "returned memory %p is not aligned to 64k\n", ptr );
|
||||
|
||||
ret = ReadProcessMemory( hProcess, ptr, buffer, sizeof(buffer), &result );
|
||||
ok( ret, "ReadProcessMemory failed\n" );
|
||||
ok( result == sizeof(buffer), "ReadProcessMemory didn't read all data (%lx)\n", result );
|
||||
ok( !memcmp( buffer, data, sizeof(buffer) ), "Wrong data read\n" );
|
||||
|
||||
+ /* for some unknown reason NtMapViewOfSection fails with STATUS_NO_MEMORY when zero_bits != 0 ? */
|
||||
+ ptr2 = NULL;
|
||||
+ size = 0;
|
||||
+ offset.QuadPart = 0;
|
||||
+ status = pNtMapViewOfSection( mapping, hProcess, &ptr2, 12, 0, &offset, &size, 1, 0, PAGE_READWRITE );
|
||||
+ todo_wine
|
||||
+ ok( status == STATUS_NO_MEMORY, "NtMapViewOfSection returned %x\n", status );
|
||||
+ if (status == STATUS_SUCCESS)
|
||||
+ {
|
||||
+ status = pNtUnmapViewOfSection( hProcess, ptr2 );
|
||||
+ ok( !status, "NtUnmapViewOfSection failed status %x\n", status );
|
||||
+ }
|
||||
+
|
||||
+ ptr2 = NULL;
|
||||
+ size = 0;
|
||||
+ status = pNtMapViewOfSection( mapping, hProcess, &ptr2, 16, 0, &offset, &size, 1, 0, PAGE_READWRITE );
|
||||
+ todo_wine
|
||||
+ ok( status == STATUS_NO_MEMORY, "NtMapViewOfSection returned %x\n", status );
|
||||
+ if (status == STATUS_SUCCESS)
|
||||
+ {
|
||||
+ status = pNtUnmapViewOfSection( hProcess, ptr2 );
|
||||
+ ok( !status, "NtUnmapViewOfSection failed status %x\n", status );
|
||||
+ }
|
||||
+
|
||||
+ /* mapping at the same page conflicts */
|
||||
+ ptr2 = ptr;
|
||||
+ size = 0;
|
||||
+ offset.QuadPart = 0;
|
||||
+ status = pNtMapViewOfSection( mapping, hProcess, &ptr2, 0, 0, &offset, &size, 1, 0, PAGE_READWRITE );
|
||||
+ ok( status == STATUS_CONFLICTING_ADDRESSES, "NtMapViewOfSection returned %x\n", status );
|
||||
+
|
||||
+ /* offset has to be aligned */
|
||||
+ ptr2 = ptr;
|
||||
+ size = 0;
|
||||
+ offset.QuadPart = 1;
|
||||
+ status = pNtMapViewOfSection( mapping, hProcess, &ptr2, 0, 0, &offset, &size, 1, 0, PAGE_READWRITE );
|
||||
+ todo_wine
|
||||
+ ok( status == STATUS_MAPPED_ALIGNMENT, "NtMapViewOfSection returned %x\n", status );
|
||||
+
|
||||
+ /* ptr has to be aligned */
|
||||
+ ptr2 = (char *)ptr + 42;
|
||||
+ size = 0;
|
||||
+ offset.QuadPart = 0;
|
||||
+ status = pNtMapViewOfSection( mapping, hProcess, &ptr2, 0, 0, &offset, &size, 1, 0, PAGE_READWRITE );
|
||||
+ todo_wine
|
||||
+ ok( status == STATUS_MAPPED_ALIGNMENT, "NtMapViewOfSection returned %x\n", status );
|
||||
+
|
||||
+ /* still not 64k aligned */
|
||||
+ ptr2 = (char *)ptr + 0x1000;
|
||||
+ size = 0;
|
||||
+ offset.QuadPart = 0;
|
||||
+ status = pNtMapViewOfSection( mapping, hProcess, &ptr2, 0, 0, &offset, &size, 1, 0, PAGE_READWRITE );
|
||||
+ todo_wine
|
||||
+ ok( status == STATUS_MAPPED_ALIGNMENT, "NtMapViewOfSection returned %x\n", status );
|
||||
+
|
||||
+ /* zero_bits != 0 is not allowed when an address is set */
|
||||
+ ptr2 = (char *)ptr + 0x1000;
|
||||
+ size = 0;
|
||||
+ offset.QuadPart = 0;
|
||||
+ status = pNtMapViewOfSection( mapping, hProcess, &ptr2, 12, 0, &offset, &size, 1, 0, PAGE_READWRITE );
|
||||
+ todo_wine
|
||||
+ ok( status == STATUS_INVALID_PARAMETER_4, "NtMapViewOfSection returned %x\n", status );
|
||||
+ if (status == STATUS_SUCCESS)
|
||||
+ {
|
||||
+ status = pNtUnmapViewOfSection( hProcess, ptr2 );
|
||||
+ ok( !status, "NtUnmapViewOfSection failed status %x\n", status );
|
||||
+ }
|
||||
+
|
||||
+ ptr2 = (char *)ptr + 0x1000;
|
||||
+ size = 0;
|
||||
+ offset.QuadPart = 0;
|
||||
+ status = pNtMapViewOfSection( mapping, hProcess, &ptr2, 16, 0, &offset, &size, 1, 0, PAGE_READWRITE );
|
||||
+ todo_wine
|
||||
+ ok( status == STATUS_INVALID_PARAMETER_4, "NtMapViewOfSection returned %x\n", status );
|
||||
+ if (status == STATUS_SUCCESS)
|
||||
+ {
|
||||
+ status = pNtUnmapViewOfSection( hProcess, ptr2 );
|
||||
+ ok( !status, "NtUnmapViewOfSection failed status %x\n", status );
|
||||
+ }
|
||||
+
|
||||
+ if (sizeof(void *) == sizeof(int) && (!pIsWow64Process ||
|
||||
+ !pIsWow64Process( GetCurrentProcess(), &is_wow64 ) || !is_wow64))
|
||||
+ {
|
||||
+ /* new memory region conflicts with previous mapping */
|
||||
+ ptr2 = ptr;
|
||||
+ size = 0;
|
||||
+ offset.QuadPart = 0;
|
||||
+ status = pNtMapViewOfSection( mapping, hProcess, &ptr2, 0, 0, &offset,
|
||||
+ &size, 1, AT_ROUND_TO_PAGE, PAGE_READWRITE );
|
||||
+ ok( status == STATUS_CONFLICTING_ADDRESSES, "NtMapViewOfSection returned %x\n", status );
|
||||
+
|
||||
+ ptr2 = (char *)ptr + 42;
|
||||
+ size = 0;
|
||||
+ offset.QuadPart = 0;
|
||||
+ status = pNtMapViewOfSection( mapping, hProcess, &ptr2, 0, 0, &offset,
|
||||
+ &size, 1, AT_ROUND_TO_PAGE, PAGE_READWRITE );
|
||||
+ todo_wine
|
||||
+ ok( status == STATUS_CONFLICTING_ADDRESSES, "NtMapViewOfSection returned %x\n", status );
|
||||
+
|
||||
+ /* in contrary to regular NtMapViewOfSection, only 4kb align is enforced */
|
||||
+ ptr2 = (char *)ptr + 0x1000;
|
||||
+ size = 0;
|
||||
+ offset.QuadPart = 0;
|
||||
+ status = pNtMapViewOfSection( mapping, hProcess, &ptr2, 0, 0, &offset,
|
||||
+ &size, 1, AT_ROUND_TO_PAGE, PAGE_READWRITE );
|
||||
+ todo_wine
|
||||
+ ok( status == STATUS_SUCCESS, "NtMapViewOfSection returned %x\n", status );
|
||||
+ ok( (char *)ptr2 == (char *)ptr + 0x1000,
|
||||
+ "expected address %p, got %p\n", (char *)ptr + 0x1000, ptr2 );
|
||||
+ status = pNtUnmapViewOfSection( hProcess, ptr2 );
|
||||
+ todo_wine
|
||||
+ ok( !status, "NtUnmapViewOfSection failed status %x\n", status );
|
||||
+
|
||||
+ /* the address is rounded down if not on a page boundary */
|
||||
+ ptr2 = (char *)ptr + 0x1001;
|
||||
+ size = 0;
|
||||
+ offset.QuadPart = 0;
|
||||
+ status = pNtMapViewOfSection( mapping, hProcess, &ptr2, 0, 0, &offset,
|
||||
+ &size, 1, AT_ROUND_TO_PAGE, PAGE_READWRITE );
|
||||
+ todo_wine
|
||||
+ ok( status == STATUS_SUCCESS, "NtMapViewOfSection returned %x\n", status );
|
||||
+ todo_wine
|
||||
+ ok( (char *)ptr2 == (char *)ptr + 0x1000,
|
||||
+ "expected address %p, got %p\n", (char *)ptr + 0x1000, ptr2 );
|
||||
+ status = pNtUnmapViewOfSection( hProcess, ptr2 );
|
||||
+ todo_wine
|
||||
+ ok( !status, "NtUnmapViewOfSection failed status %x\n", status );
|
||||
+
|
||||
+ ptr2 = (char *)ptr + 0x2000;
|
||||
+ size = 0;
|
||||
+ offset.QuadPart = 0;
|
||||
+ status = pNtMapViewOfSection( mapping, hProcess, &ptr2, 0, 0, &offset,
|
||||
+ &size, 1, AT_ROUND_TO_PAGE, PAGE_READWRITE );
|
||||
+ todo_wine
|
||||
+ ok( status == STATUS_SUCCESS, "NtMapViewOfSection returned %x\n", status );
|
||||
+ ok( (char *)ptr2 == (char *)ptr + 0x2000,
|
||||
+ "expected address %p, got %p\n", (char *)ptr + 0x2000, ptr2 );
|
||||
+ status = pNtUnmapViewOfSection( hProcess, ptr2 );
|
||||
+ todo_wine
|
||||
+ ok( !status, "NtUnmapViewOfSection failed status %x\n", status );
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ ptr2 = (char *)ptr + 0x1000;
|
||||
+ size = 0;
|
||||
+ offset.QuadPart = 0;
|
||||
+ status = pNtMapViewOfSection( mapping, hProcess, &ptr2, 0, 0, &offset,
|
||||
+ &size, 1, AT_ROUND_TO_PAGE, PAGE_READWRITE );
|
||||
+ todo_wine
|
||||
+ ok( status == STATUS_INVALID_PARAMETER_9, "NtMapViewOfSection returned %x\n", status );
|
||||
+ }
|
||||
+
|
||||
status = pNtUnmapViewOfSection( hProcess, ptr );
|
||||
ok( !status, "NtUnmapViewOfSection failed status %x\n", status );
|
||||
|
||||
@@ -3495,6 +3689,7 @@ START_TEST(virtual)
|
||||
pGetWriteWatch = (void *) GetProcAddress(hkernel32, "GetWriteWatch");
|
||||
pResetWriteWatch = (void *) GetProcAddress(hkernel32, "ResetWriteWatch");
|
||||
pGetProcessDEPPolicy = (void *)GetProcAddress( hkernel32, "GetProcessDEPPolicy" );
|
||||
+ pIsWow64Process = (void *)GetProcAddress( hkernel32, "IsWow64Process" );
|
||||
pNtAreMappedFilesTheSame = (void *)GetProcAddress( hntdll, "NtAreMappedFilesTheSame" );
|
||||
pNtMapViewOfSection = (void *)GetProcAddress( hntdll, "NtMapViewOfSection" );
|
||||
pNtUnmapViewOfSection = (void *)GetProcAddress( hntdll, "NtUnmapViewOfSection" );
|
||||
@@ -3502,6 +3697,8 @@ START_TEST(virtual)
|
||||
pRtlAddVectoredExceptionHandler = (void *)GetProcAddress( hntdll, "RtlAddVectoredExceptionHandler" );
|
||||
pRtlRemoveVectoredExceptionHandler = (void *)GetProcAddress( hntdll, "RtlRemoveVectoredExceptionHandler" );
|
||||
pNtProtectVirtualMemory = (void *)GetProcAddress( hntdll, "NtProtectVirtualMemory" );
|
||||
+ pNtAllocateVirtualMemory = (void *)GetProcAddress( hntdll, "NtAllocateVirtualMemory" );
|
||||
+ pNtFreeVirtualMemory = (void *)GetProcAddress( hntdll, "NtFreeVirtualMemory" );
|
||||
|
||||
test_shared_memory(FALSE);
|
||||
test_shared_memory_ro(FALSE, FILE_MAP_READ|FILE_MAP_WRITE);
|
||||
diff --git a/include/winnt.h b/include/winnt.h
|
||||
index 7a08810..fcf65f2 100644
|
||||
--- a/include/winnt.h
|
||||
+++ b/include/winnt.h
|
||||
@@ -736,6 +736,7 @@ typedef struct _MEMORY_BASIC_INFORMATION
|
||||
|
||||
#define WRITE_WATCH_FLAG_RESET 0x00000001
|
||||
|
||||
+#define AT_ROUND_TO_PAGE 0x40000000
|
||||
|
||||
#define MINCHAR 0x80
|
||||
#define MAXCHAR 0x7f
|
||||
--
|
||||
2.4.2
|
||||
|
@ -1,54 +0,0 @@
|
||||
From 4ebf978e075ba7ff2977144606b4da6580145a1b Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Fri, 5 Jun 2015 07:35:11 +0200
|
||||
Subject: ntdll: Fix status code when NtMapViewOfSection parameter check fails.
|
||||
|
||||
---
|
||||
dlls/kernel32/tests/virtual.c | 3 ---
|
||||
dlls/ntdll/virtual.c | 2 +-
|
||||
2 files changed, 1 insertion(+), 4 deletions(-)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/virtual.c b/dlls/kernel32/tests/virtual.c
|
||||
index 15fa903..08a34bf 100644
|
||||
--- a/dlls/kernel32/tests/virtual.c
|
||||
+++ b/dlls/kernel32/tests/virtual.c
|
||||
@@ -1075,7 +1075,6 @@ static void test_NtMapViewOfSection(void)
|
||||
size = 0;
|
||||
offset.QuadPart = 1;
|
||||
status = pNtMapViewOfSection( mapping, hProcess, &ptr2, 0, 0, &offset, &size, 1, 0, PAGE_READWRITE );
|
||||
- todo_wine
|
||||
ok( status == STATUS_MAPPED_ALIGNMENT, "NtMapViewOfSection returned %x\n", status );
|
||||
|
||||
/* ptr has to be aligned */
|
||||
@@ -1083,7 +1082,6 @@ static void test_NtMapViewOfSection(void)
|
||||
size = 0;
|
||||
offset.QuadPart = 0;
|
||||
status = pNtMapViewOfSection( mapping, hProcess, &ptr2, 0, 0, &offset, &size, 1, 0, PAGE_READWRITE );
|
||||
- todo_wine
|
||||
ok( status == STATUS_MAPPED_ALIGNMENT, "NtMapViewOfSection returned %x\n", status );
|
||||
|
||||
/* still not 64k aligned */
|
||||
@@ -1091,7 +1089,6 @@ static void test_NtMapViewOfSection(void)
|
||||
size = 0;
|
||||
offset.QuadPart = 0;
|
||||
status = pNtMapViewOfSection( mapping, hProcess, &ptr2, 0, 0, &offset, &size, 1, 0, PAGE_READWRITE );
|
||||
- todo_wine
|
||||
ok( status == STATUS_MAPPED_ALIGNMENT, "NtMapViewOfSection returned %x\n", status );
|
||||
|
||||
/* zero_bits != 0 is not allowed when an address is set */
|
||||
diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
|
||||
index 0629816..72309f6 100644
|
||||
--- a/dlls/ntdll/virtual.c
|
||||
+++ b/dlls/ntdll/virtual.c
|
||||
@@ -2602,7 +2602,7 @@ NTSTATUS WINAPI NtMapViewOfSection( HANDLE handle, HANDLE process, PVOID *addr_p
|
||||
/* Check parameters */
|
||||
|
||||
if ((offset.u.LowPart & mask) || (*addr_ptr && ((UINT_PTR)*addr_ptr & mask)))
|
||||
- return STATUS_INVALID_PARAMETER;
|
||||
+ return STATUS_MAPPED_ALIGNMENT;
|
||||
|
||||
switch(protect)
|
||||
{
|
||||
--
|
||||
2.4.2
|
||||
|
@ -55,7 +55,7 @@ version()
|
||||
echo "Copyright (C) 2014-2015 the Wine Staging project authors."
|
||||
echo ""
|
||||
echo "Patchset to be applied on upstream Wine:"
|
||||
echo " commit b2aa984743cb568f8e6a634a1536bf65950167db"
|
||||
echo " commit 0922865b377913a27cea568ac688787a8117d8a7"
|
||||
echo ""
|
||||
}
|
||||
|
||||
@ -81,7 +81,6 @@ patch_enable_all ()
|
||||
enable_Pipelight="$1"
|
||||
enable_Staging="$1"
|
||||
enable_advapi32_LsaLookupSids="$1"
|
||||
enable_browseui_ACLShell_IEnumString="$1"
|
||||
enable_browseui_Progress_Dialog="$1"
|
||||
enable_combase_String="$1"
|
||||
enable_comctl32_LoadIconMetric="$1"
|
||||
@ -196,7 +195,6 @@ patch_enable_all ()
|
||||
enable_nvcuvid_CUDA_Video_Support="$1"
|
||||
enable_nvencodeapi_Video_Encoder="$1"
|
||||
enable_opengl32_Revert_Disable_Ext="$1"
|
||||
enable_quartz_Advice_Timers="$1"
|
||||
enable_quartz_MediaSeeking_Positions="$1"
|
||||
enable_regedit_Reg_Parser="$1"
|
||||
enable_riched20_IText_Interface="$1"
|
||||
@ -271,7 +269,6 @@ patch_enable_all ()
|
||||
enable_wined3d_UnhandledBlendFactor="$1"
|
||||
enable_wined3d_resource_check_usage="$1"
|
||||
enable_wined3d_wined3d_swapchain_present="$1"
|
||||
enable_winedbg_SystemInfo="$1"
|
||||
enable_winedevice_Fix_Relocation="$1"
|
||||
enable_winemenubuilder_Desktop_Icon_Path="$1"
|
||||
enable_winepulse_PulseAudio_Support="$1"
|
||||
@ -325,9 +322,6 @@ patch_enable ()
|
||||
advapi32-LsaLookupSids)
|
||||
enable_advapi32_LsaLookupSids="$2"
|
||||
;;
|
||||
browseui-ACLShell_IEnumString)
|
||||
enable_browseui_ACLShell_IEnumString="$2"
|
||||
;;
|
||||
browseui-Progress_Dialog)
|
||||
enable_browseui_Progress_Dialog="$2"
|
||||
;;
|
||||
@ -673,9 +667,6 @@ patch_enable ()
|
||||
opengl32-Revert_Disable_Ext)
|
||||
enable_opengl32_Revert_Disable_Ext="$2"
|
||||
;;
|
||||
quartz-Advice_Timers)
|
||||
enable_quartz_Advice_Timers="$2"
|
||||
;;
|
||||
quartz-MediaSeeking_Positions)
|
||||
enable_quartz_MediaSeeking_Positions="$2"
|
||||
;;
|
||||
@ -898,9 +889,6 @@ patch_enable ()
|
||||
wined3d-wined3d_swapchain_present)
|
||||
enable_wined3d_wined3d_swapchain_present="$2"
|
||||
;;
|
||||
winedbg-SystemInfo)
|
||||
enable_winedbg_SystemInfo="$2"
|
||||
;;
|
||||
winedevice-Fix_Relocation)
|
||||
enable_winedevice_Fix_Relocation="$2"
|
||||
;;
|
||||
@ -2082,6 +2070,23 @@ if test "$enable_Staging" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset server-Misc_ACL
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#15980] GetSecurityInfo returns NULL DACL for process object
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/advapi32/tests/security.c, server/process.c, server/security.h, server/token.c
|
||||
# |
|
||||
if test "$enable_server_Misc_ACL" -eq 1; then
|
||||
patch_apply server-Misc_ACL/0001-server-Add-default-security-descriptor-ownership-for.patch
|
||||
patch_apply server-Misc_ACL/0002-server-Add-default-security-descriptor-DACL-for-proc.patch
|
||||
(
|
||||
echo '+ { "Erich E. Hoover", "server: Add default security descriptor ownership for processes.", 1 },';
|
||||
echo '+ { "Erich E. Hoover", "server: Add default security descriptor DACL for processes.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset server-CreateProcess_ACLs
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -2101,23 +2106,6 @@ if test "$enable_server_CreateProcess_ACLs" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset server-Misc_ACL
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#15980] GetSecurityInfo returns NULL DACL for process object
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/advapi32/tests/security.c, server/process.c, server/security.h, server/token.c
|
||||
# |
|
||||
if test "$enable_server_Misc_ACL" -eq 1; then
|
||||
patch_apply server-Misc_ACL/0001-server-Add-default-security-descriptor-ownership-for.patch
|
||||
patch_apply server-Misc_ACL/0002-server-Add-default-security-descriptor-DACL-for-proc.patch
|
||||
(
|
||||
echo '+ { "Erich E. Hoover", "server: Add default security descriptor ownership for processes.", 1 },';
|
||||
echo '+ { "Erich E. Hoover", "server: Add default security descriptor DACL for processes.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset advapi32-LsaLookupSids
|
||||
# |
|
||||
# | Modified files:
|
||||
@ -2142,21 +2130,6 @@ if test "$enable_advapi32_LsaLookupSids" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset browseui-ACLShell_IEnumString
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#18019] Add IEnumString stub interface for ACLShellSource
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/browseui/aclsource.c
|
||||
# |
|
||||
if test "$enable_browseui_ACLShell_IEnumString" -eq 1; then
|
||||
patch_apply browseui-ACLShell_IEnumString/0001-browseui-Add-IEnumString-stub-interface-for-ACLShell.patch
|
||||
(
|
||||
echo '+ { "Michael Müller", "browseui: Add IEnumString stub interface for ACLShellSource.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset browseui-Progress_Dialog
|
||||
# |
|
||||
# | Modified files:
|
||||
@ -3518,15 +3491,11 @@ fi
|
||||
# Patchset ntdll-AT_ROUND_TO_PAGE
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/kernel32/tests/virtual.c, dlls/ntdll/virtual.c, include/winnt.h
|
||||
# | * dlls/kernel32/tests/virtual.c, dlls/ntdll/virtual.c
|
||||
# |
|
||||
if test "$enable_ntdll_AT_ROUND_TO_PAGE" -eq 1; then
|
||||
patch_apply ntdll-AT_ROUND_TO_PAGE/0001-kernel32-tests-Add-tests-for-virtual-memory-align-be.patch
|
||||
patch_apply ntdll-AT_ROUND_TO_PAGE/0002-ntdll-Fix-status-code-when-NtMapViewOfSection-parame.patch
|
||||
patch_apply ntdll-AT_ROUND_TO_PAGE/0003-ntdll-Add-support-for-AT_ROUND_TO_PAGE-flag-in-NtMap.patch
|
||||
patch_apply ntdll-AT_ROUND_TO_PAGE/0001-ntdll-Add-support-for-AT_ROUND_TO_PAGE-flag-in-NtMap.patch
|
||||
(
|
||||
echo '+ { "Sebastian Lackner", "kernel32/tests: Add tests for virtual memory align behaviour.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "ntdll: Fix status code when NtMapViewOfSection parameter check fails.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "ntdll: Add support for AT_ROUND_TO_PAGE flag in NtMapViewOfSection.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
@ -4202,18 +4171,6 @@ if test "$enable_opengl32_Revert_Disable_Ext" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset quartz-Advice_Timers
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/quartz/systemclock.c
|
||||
# |
|
||||
if test "$enable_quartz_Advice_Timers" -eq 1; then
|
||||
patch_apply quartz-Advice_Timers/0001-quartz-Fix-handling-of-periodic-advice-timers.patch
|
||||
(
|
||||
echo '+ { "Sebastian Lackner", "quartz: Fix handling of periodic advice timers.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset quartz-MediaSeeking_Positions
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -4265,7 +4222,6 @@ if test "$enable_riched20_IText_Interface" -eq 1; then
|
||||
patch_apply riched20-IText_Interface/0008-riched20-Implement-ITextRange-GetStoryLength.patch
|
||||
patch_apply riched20-IText_Interface/0009-riched20-Implement-ITextSelection-GetStoryLength.patch
|
||||
patch_apply riched20-IText_Interface/0010-riched20-Silence-repeated-FIXMEs-triggered-by-Adobe-.patch
|
||||
patch_apply riched20-IText_Interface/0011-riched20-Implement-ITextSelection_fnGetDuplicate.patch
|
||||
(
|
||||
echo '+ { "Jactry Zeng", "riched20: Implement IText{Selection, Range}::Set{Start, End}.", 1 },';
|
||||
echo '+ { "Jactry Zeng", "riched20: Stub for ITextFont interface and implement ITextRange::GetFont and ITextSelection::GetFont.", 1 },';
|
||||
@ -4277,7 +4233,6 @@ if test "$enable_riched20_IText_Interface" -eq 1; then
|
||||
echo '+ { "Jactry Zeng", "riched20: Implement ITextRange::GetStoryLength.", 1 },';
|
||||
echo '+ { "Jactry Zeng", "riched20: Implement ITextSelection::GetStoryLength.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "riched20: Silence repeated FIXMEs triggered by Adobe Reader.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "riched20: Implement ITextSelection_fnGetDuplicate.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
@ -5195,40 +5150,6 @@ if test "$enable_wined3d_CSMT_Helper" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-Revert_PixelFormat
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#35655] Fix wined3d performance drop introduced by pixelformat changes.
|
||||
# | * [#35718] Fix flickering introduced by pixelformat changes.
|
||||
# | * [#35950] Fix black screen on startup introduced by pixelformat changes.
|
||||
# | * [#35975] Fix gray screen on startup introduced by pixelformat changes.
|
||||
# | * [#36900] Fix missing video introduced by pixelformat changes.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/d3d8/tests/device.c, dlls/d3d9/tests/device.c, dlls/ddraw/tests/ddraw1.c, dlls/ddraw/tests/ddraw2.c,
|
||||
# | dlls/ddraw/tests/ddraw4.c, dlls/ddraw/tests/ddraw7.c, dlls/wined3d/context.c, dlls/wined3d/wined3d_private.h
|
||||
# |
|
||||
if test "$enable_wined3d_Revert_PixelFormat" -eq 1; then
|
||||
patch_apply wined3d-Revert_PixelFormat/0001-Revert-wined3d-Track-if-a-context-s-private-hdc-has-.patch
|
||||
patch_apply wined3d-Revert_PixelFormat/0002-Revert-wined3d-Track-if-a-context-s-hdc-is-private-s.patch
|
||||
patch_apply wined3d-Revert_PixelFormat/0003-Revert-wined3d-When-restoring-pixel-format-in-contex.patch
|
||||
patch_apply wined3d-Revert_PixelFormat/0004-Revert-wined3d-Don-t-call-GetPixelFormat-to-set-a-fl.patch
|
||||
patch_apply wined3d-Revert_PixelFormat/0005-Revert-wined3d-Restore-the-pixel-format-of-the-windo.patch
|
||||
patch_apply wined3d-Revert_PixelFormat/0006-d3d8-Mark-tests-which-no-longer-pass-due-to-reverts-.patch
|
||||
patch_apply wined3d-Revert_PixelFormat/0007-d3d9-Mark-tests-which-no-longer-pass-due-to-reverts-.patch
|
||||
patch_apply wined3d-Revert_PixelFormat/0008-ddraw-Mark-tests-which-no-longer-pass-due-to-reverts.patch
|
||||
(
|
||||
echo '+ { "Ken Thomases", "Revert \"wined3d: Track if a context'\''s private hdc has had its pixel format set, so we don'\''t need to check it.\".", 1 },';
|
||||
echo '+ { "Ken Thomases", "Revert \"wined3d: Track if a context'\''s hdc is private so we never need to restore its pixel format.\".", 1 },';
|
||||
echo '+ { "Ken Thomases", "Revert \"wined3d: When restoring pixel format in context_release(), mark the context as needing to be set on the next context_acquire().\".", 1 },';
|
||||
echo '+ { "Ken Thomases", "Revert \"wined3d: Don'\''t call GetPixelFormat() to set a flag that'\''s already set.\".", 1 },';
|
||||
echo '+ { "Ken Thomases", "Revert \"wined3d: Restore the pixel format of the window whose pixel format was actually changed.\".", 1 },';
|
||||
echo '+ { "Ken Thomases", "d3d8: Mark tests which no longer pass due to reverts as todo_wine.", 1 },';
|
||||
echo '+ { "Ken Thomases", "d3d9: Mark tests which no longer pass due to reverts as todo_wine.", 1 },';
|
||||
echo '+ { "Ken Thomases", "ddraw: Mark tests which no longer pass due to reverts as todo_wine.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-UnhandledBlendFactor
|
||||
# |
|
||||
# | Modified files:
|
||||
@ -5280,6 +5201,40 @@ if test "$enable_wined3d_Multisampling" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-Revert_PixelFormat
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#35655] Fix wined3d performance drop introduced by pixelformat changes.
|
||||
# | * [#35718] Fix flickering introduced by pixelformat changes.
|
||||
# | * [#35950] Fix black screen on startup introduced by pixelformat changes.
|
||||
# | * [#35975] Fix gray screen on startup introduced by pixelformat changes.
|
||||
# | * [#36900] Fix missing video introduced by pixelformat changes.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/d3d8/tests/device.c, dlls/d3d9/tests/device.c, dlls/ddraw/tests/ddraw1.c, dlls/ddraw/tests/ddraw2.c,
|
||||
# | dlls/ddraw/tests/ddraw4.c, dlls/ddraw/tests/ddraw7.c, dlls/wined3d/context.c, dlls/wined3d/wined3d_private.h
|
||||
# |
|
||||
if test "$enable_wined3d_Revert_PixelFormat" -eq 1; then
|
||||
patch_apply wined3d-Revert_PixelFormat/0001-Revert-wined3d-Track-if-a-context-s-private-hdc-has-.patch
|
||||
patch_apply wined3d-Revert_PixelFormat/0002-Revert-wined3d-Track-if-a-context-s-hdc-is-private-s.patch
|
||||
patch_apply wined3d-Revert_PixelFormat/0003-Revert-wined3d-When-restoring-pixel-format-in-contex.patch
|
||||
patch_apply wined3d-Revert_PixelFormat/0004-Revert-wined3d-Don-t-call-GetPixelFormat-to-set-a-fl.patch
|
||||
patch_apply wined3d-Revert_PixelFormat/0005-Revert-wined3d-Restore-the-pixel-format-of-the-windo.patch
|
||||
patch_apply wined3d-Revert_PixelFormat/0006-d3d8-Mark-tests-which-no-longer-pass-due-to-reverts-.patch
|
||||
patch_apply wined3d-Revert_PixelFormat/0007-d3d9-Mark-tests-which-no-longer-pass-due-to-reverts-.patch
|
||||
patch_apply wined3d-Revert_PixelFormat/0008-ddraw-Mark-tests-which-no-longer-pass-due-to-reverts.patch
|
||||
(
|
||||
echo '+ { "Ken Thomases", "Revert \"wined3d: Track if a context'\''s private hdc has had its pixel format set, so we don'\''t need to check it.\".", 1 },';
|
||||
echo '+ { "Ken Thomases", "Revert \"wined3d: Track if a context'\''s hdc is private so we never need to restore its pixel format.\".", 1 },';
|
||||
echo '+ { "Ken Thomases", "Revert \"wined3d: When restoring pixel format in context_release(), mark the context as needing to be set on the next context_acquire().\".", 1 },';
|
||||
echo '+ { "Ken Thomases", "Revert \"wined3d: Don'\''t call GetPixelFormat() to set a flag that'\''s already set.\".", 1 },';
|
||||
echo '+ { "Ken Thomases", "Revert \"wined3d: Restore the pixel format of the window whose pixel format was actually changed.\".", 1 },';
|
||||
echo '+ { "Ken Thomases", "d3d8: Mark tests which no longer pass due to reverts as todo_wine.", 1 },';
|
||||
echo '+ { "Ken Thomases", "d3d9: Mark tests which no longer pass due to reverts as todo_wine.", 1 },';
|
||||
echo '+ { "Ken Thomases", "ddraw: Mark tests which no longer pass due to reverts as todo_wine.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-CSMT_Main
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -5648,18 +5603,6 @@ if test "$enable_wined3d_CSMT_Main" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset winedbg-SystemInfo
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * programs/winedbg/tgt_active.c
|
||||
# |
|
||||
if test "$enable_winedbg_SystemInfo" -eq 1; then
|
||||
patch_apply winedbg-SystemInfo/0001-winedbg-Also-output-system-information-to-the-termin.patch
|
||||
(
|
||||
echo '+ { "Sebastian Lackner", "winedbg: Also output system information to the terminal, not only to dialog.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset winedevice-Fix_Relocation
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
|
@ -1,24 +0,0 @@
|
||||
From e2d401d2f7ac762968cbc25bf2fccb3fb749770a Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 7 Jun 2015 20:15:20 +0200
|
||||
Subject: quartz: Fix handling of periodic advice timers.
|
||||
|
||||
---
|
||||
dlls/quartz/systemclock.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/dlls/quartz/systemclock.c b/dlls/quartz/systemclock.c
|
||||
index 043299b..cdb06f7 100644
|
||||
--- a/dlls/quartz/systemclock.c
|
||||
+++ b/dlls/quartz/systemclock.c
|
||||
@@ -127,6 +127,7 @@ static DWORD WINAPI SystemClockAdviseThread(LPVOID lpParam) {
|
||||
it = nextit;
|
||||
}
|
||||
if (NULL != it) timeOut = (DWORD) ((it->rtBaseTime + it->rtIntervalTime) - curTime) / (REFERENCE_TIME)10000;
|
||||
+ else timeOut = INFINITE;
|
||||
|
||||
/** Now Periodics Advice: semi sorted list (sort cannot be used) */
|
||||
for (it = This->pPeriodicAdvise; NULL != it; it = it->next) {
|
||||
--
|
||||
2.4.2
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: Fix handling of periodic advice timers causing high CPU usage
|
@ -1,4 +1,4 @@
|
||||
From 1245a3cdde079cccdbd7a5fbae3132e325caff0e Mon Sep 17 00:00:00 2001
|
||||
From eb8033132c15abb87c53f2e8b52c6fb6622f333b Mon Sep 17 00:00:00 2001
|
||||
From: Jactry Zeng <wine@jactry.com>
|
||||
Date: Fri, 8 Aug 2014 21:32:57 +0800
|
||||
Subject: riched20: Implement IText{Selection, Range}::Set{Start, End}.
|
||||
@ -8,11 +8,11 @@ Subject: riched20: Implement IText{Selection, Range}::Set{Start, End}.
|
||||
1 file changed, 135 insertions(+)
|
||||
|
||||
diff --git a/dlls/riched20/tests/richole.c b/dlls/riched20/tests/richole.c
|
||||
index 101896e..20cb78c 100644
|
||||
index fd4d9e8..3be6320 100644
|
||||
--- a/dlls/riched20/tests/richole.c
|
||||
+++ b/dlls/riched20/tests/richole.c
|
||||
@@ -3108,6 +3108,137 @@ static void test_InsertObject(void)
|
||||
release_interfaces(&hwnd, &reole, &doc, NULL);
|
||||
@@ -3251,6 +3251,137 @@ static void test_ITextSelection_GetDuplicate(void)
|
||||
ITextRange_Release(range);
|
||||
}
|
||||
|
||||
+static void test_ITextRange_SetStart(void)
|
||||
@ -149,7 +149,7 @@ index 101896e..20cb78c 100644
|
||||
START_TEST(richole)
|
||||
{
|
||||
/* Must explicitly LoadLibrary(). The test has no references to functions in
|
||||
@@ -3120,11 +3251,15 @@ START_TEST(richole)
|
||||
@@ -3263,11 +3394,15 @@ START_TEST(richole)
|
||||
test_GetText();
|
||||
test_ITextSelection_GetChar();
|
||||
test_ITextSelection_GetStart_GetEnd();
|
||||
|
@ -1,4 +1,4 @@
|
||||
From ae80466c3ae5494b123bbcc7f210b85691d94eb2 Mon Sep 17 00:00:00 2001
|
||||
From fb297f3423e913e7c25e433a0257a12970666d57 Mon Sep 17 00:00:00 2001
|
||||
From: Jactry Zeng <wine@jactry.com>
|
||||
Date: Mon, 11 Aug 2014 13:51:55 +0800
|
||||
Subject: riched20: Stub for ITextFont interface and implement
|
||||
@ -10,10 +10,10 @@ Subject: riched20: Stub for ITextFont interface and implement
|
||||
2 files changed, 113 insertions(+)
|
||||
|
||||
diff --git a/dlls/riched20/richole.c b/dlls/riched20/richole.c
|
||||
index f3a4a01..9f31654 100644
|
||||
index d39bce7..64809cc 100644
|
||||
--- a/dlls/riched20/richole.c
|
||||
+++ b/dlls/riched20/richole.c
|
||||
@@ -2526,6 +2526,10 @@ static HRESULT WINAPI TextFont_SetDuplicate(ITextFont *iface, ITextFont *pFont)
|
||||
@@ -2544,6 +2544,10 @@ static HRESULT WINAPI TextFont_SetDuplicate(ITextFont *iface, ITextFont *pFont)
|
||||
{
|
||||
ITextFontImpl *This = impl_from_ITextFont(iface);
|
||||
FIXME("(%p)->(%p): stub\n", This, pFont);
|
||||
@ -24,7 +24,7 @@ index f3a4a01..9f31654 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -2533,6 +2537,10 @@ static HRESULT WINAPI TextFont_CanChange(ITextFont *iface, LONG *ret)
|
||||
@@ -2551,6 +2555,10 @@ static HRESULT WINAPI TextFont_CanChange(ITextFont *iface, LONG *ret)
|
||||
{
|
||||
ITextFontImpl *This = impl_from_ITextFont(iface);
|
||||
FIXME("(%p)->(%p): stub\n", This, ret);
|
||||
@ -35,7 +35,7 @@ index f3a4a01..9f31654 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -2540,6 +2548,10 @@ static HRESULT WINAPI TextFont_IsEqual(ITextFont *iface, ITextFont *font, LONG *
|
||||
@@ -2558,6 +2566,10 @@ static HRESULT WINAPI TextFont_IsEqual(ITextFont *iface, ITextFont *font, LONG *
|
||||
{
|
||||
ITextFontImpl *This = impl_from_ITextFont(iface);
|
||||
FIXME("(%p)->(%p %p): stub\n", This, font, ret);
|
||||
@ -46,7 +46,7 @@ index f3a4a01..9f31654 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -2713,6 +2725,10 @@ static HRESULT WINAPI TextFont_GetStyle(ITextFont *iface, LONG *value)
|
||||
@@ -2731,6 +2743,10 @@ static HRESULT WINAPI TextFont_GetStyle(ITextFont *iface, LONG *value)
|
||||
{
|
||||
ITextFontImpl *This = impl_from_ITextFont(iface);
|
||||
FIXME("(%p)->(%p): stub\n", This, value);
|
||||
@ -57,7 +57,7 @@ index f3a4a01..9f31654 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -2720,6 +2736,10 @@ static HRESULT WINAPI TextFont_SetStyle(ITextFont *iface, LONG value)
|
||||
@@ -2738,6 +2754,10 @@ static HRESULT WINAPI TextFont_SetStyle(ITextFont *iface, LONG value)
|
||||
{
|
||||
ITextFontImpl *This = impl_from_ITextFont(iface);
|
||||
FIXME("(%p)->(%d): stub\n", This, value);
|
||||
@ -69,10 +69,10 @@ index f3a4a01..9f31654 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/riched20/tests/richole.c b/dlls/riched20/tests/richole.c
|
||||
index 957cbee..02576a8 100644
|
||||
index 3be6320..5f8e1cc 100644
|
||||
--- a/dlls/riched20/tests/richole.c
|
||||
+++ b/dlls/riched20/tests/richole.c
|
||||
@@ -3203,6 +3203,97 @@ static void test_ITextSelection_SetEnd(void)
|
||||
@@ -3382,6 +3382,97 @@ static void test_ITextSelection_SetEnd(void)
|
||||
release_interfaces(&w, &reOle, &txtDoc, &txtSel);
|
||||
}
|
||||
|
||||
@ -170,7 +170,7 @@ index 957cbee..02576a8 100644
|
||||
START_TEST(richole)
|
||||
{
|
||||
/* Must explicitly LoadLibrary(). The test has no references to functions in
|
||||
@@ -3218,6 +3309,7 @@ START_TEST(richole)
|
||||
@@ -3397,6 +3488,7 @@ START_TEST(richole)
|
||||
test_ITextSelection_SetStart();
|
||||
test_ITextSelection_SetEnd();
|
||||
test_ITextSelection_Collapse();
|
||||
@ -178,7 +178,7 @@ index 957cbee..02576a8 100644
|
||||
test_ITextDocument_Range();
|
||||
test_ITextRange_GetChar();
|
||||
test_ITextRange_GetStart_GetEnd();
|
||||
@@ -3225,6 +3317,7 @@ START_TEST(richole)
|
||||
@@ -3404,6 +3496,7 @@ START_TEST(richole)
|
||||
test_ITextRange_SetStart();
|
||||
test_ITextRange_SetEnd();
|
||||
test_ITextRange_Collapse();
|
||||
|
@ -1,4 +1,4 @@
|
||||
From cdbc7f63c0cf485261d76ee0e908c041b3850a18 Mon Sep 17 00:00:00 2001
|
||||
From b2a2a423ce6d478f1d34408c5db559bffc482a17 Mon Sep 17 00:00:00 2001
|
||||
From: Jactry Zeng <wine@jactry.com>
|
||||
Date: Sun, 10 Aug 2014 22:17:57 +0800
|
||||
Subject: riched20: Stub for ITextPara interface and implement
|
||||
@ -10,10 +10,10 @@ Subject: riched20: Stub for ITextPara interface and implement
|
||||
2 files changed, 249 insertions(+)
|
||||
|
||||
diff --git a/dlls/riched20/richole.c b/dlls/riched20/richole.c
|
||||
index 9f31654..c9e4753 100644
|
||||
index 64809cc..c309292 100644
|
||||
--- a/dlls/riched20/richole.c
|
||||
+++ b/dlls/riched20/richole.c
|
||||
@@ -3246,6 +3246,16 @@ static ULONG WINAPI TextPara_Release(ITextPara *iface)
|
||||
@@ -3264,6 +3264,16 @@ static ULONG WINAPI TextPara_Release(ITextPara *iface)
|
||||
return ref;
|
||||
}
|
||||
|
||||
@ -30,7 +30,7 @@ index 9f31654..c9e4753 100644
|
||||
static HRESULT WINAPI TextPara_GetTypeInfoCount(ITextPara *iface, UINT *pctinfo)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
@@ -3312,6 +3322,10 @@ static HRESULT WINAPI TextPara_GetDuplicate(ITextPara *iface, ITextPara **ret)
|
||||
@@ -3330,6 +3340,10 @@ static HRESULT WINAPI TextPara_GetDuplicate(ITextPara *iface, ITextPara **ret)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, ret);
|
||||
@ -41,7 +41,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3319,6 +3333,10 @@ static HRESULT WINAPI TextPara_SetDuplicate(ITextPara *iface, ITextPara *para)
|
||||
@@ -3337,6 +3351,10 @@ static HRESULT WINAPI TextPara_SetDuplicate(ITextPara *iface, ITextPara *para)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, para);
|
||||
@ -52,7 +52,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3326,6 +3344,10 @@ static HRESULT WINAPI TextPara_CanChange(ITextPara *iface, LONG *ret)
|
||||
@@ -3344,6 +3362,10 @@ static HRESULT WINAPI TextPara_CanChange(ITextPara *iface, LONG *ret)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, ret);
|
||||
@ -63,7 +63,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3333,6 +3355,10 @@ static HRESULT WINAPI TextPara_IsEqual(ITextPara *iface, ITextPara *para, LONG *
|
||||
@@ -3351,6 +3373,10 @@ static HRESULT WINAPI TextPara_IsEqual(ITextPara *iface, ITextPara *para, LONG *
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p %p)\n", This, para, ret);
|
||||
@ -74,7 +74,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3340,6 +3366,10 @@ static HRESULT WINAPI TextPara_Reset(ITextPara *iface, LONG value)
|
||||
@@ -3358,6 +3384,10 @@ static HRESULT WINAPI TextPara_Reset(ITextPara *iface, LONG value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%d)\n", This, value);
|
||||
@ -85,7 +85,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3347,6 +3377,10 @@ static HRESULT WINAPI TextPara_GetStyle(ITextPara *iface, LONG *value)
|
||||
@@ -3365,6 +3395,10 @@ static HRESULT WINAPI TextPara_GetStyle(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@ -96,7 +96,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3354,6 +3388,10 @@ static HRESULT WINAPI TextPara_SetStyle(ITextPara *iface, LONG value)
|
||||
@@ -3372,6 +3406,10 @@ static HRESULT WINAPI TextPara_SetStyle(ITextPara *iface, LONG value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%d)\n", This, value);
|
||||
@ -107,7 +107,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3361,6 +3399,10 @@ static HRESULT WINAPI TextPara_GetAlignment(ITextPara *iface, LONG *value)
|
||||
@@ -3379,6 +3417,10 @@ static HRESULT WINAPI TextPara_GetAlignment(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@ -118,7 +118,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3368,6 +3410,10 @@ static HRESULT WINAPI TextPara_SetAlignment(ITextPara *iface, LONG value)
|
||||
@@ -3386,6 +3428,10 @@ static HRESULT WINAPI TextPara_SetAlignment(ITextPara *iface, LONG value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%d)\n", This, value);
|
||||
@ -129,7 +129,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3375,6 +3421,10 @@ static HRESULT WINAPI TextPara_GetHyphenation(ITextPara *iface, LONG *value)
|
||||
@@ -3393,6 +3439,10 @@ static HRESULT WINAPI TextPara_GetHyphenation(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@ -140,7 +140,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3382,6 +3432,10 @@ static HRESULT WINAPI TextPara_SetHyphenation(ITextPara *iface, LONG value)
|
||||
@@ -3400,6 +3450,10 @@ static HRESULT WINAPI TextPara_SetHyphenation(ITextPara *iface, LONG value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%d)\n", This, value);
|
||||
@ -151,7 +151,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3389,6 +3443,10 @@ static HRESULT WINAPI TextPara_GetFirstLineIndent(ITextPara *iface, FLOAT *value
|
||||
@@ -3407,6 +3461,10 @@ static HRESULT WINAPI TextPara_GetFirstLineIndent(ITextPara *iface, FLOAT *value
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@ -162,7 +162,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3396,6 +3454,10 @@ static HRESULT WINAPI TextPara_GetKeepTogether(ITextPara *iface, LONG *value)
|
||||
@@ -3414,6 +3472,10 @@ static HRESULT WINAPI TextPara_GetKeepTogether(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@ -173,7 +173,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3403,6 +3465,10 @@ static HRESULT WINAPI TextPara_SetKeepTogether(ITextPara *iface, LONG value)
|
||||
@@ -3421,6 +3483,10 @@ static HRESULT WINAPI TextPara_SetKeepTogether(ITextPara *iface, LONG value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%d)\n", This, value);
|
||||
@ -184,7 +184,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3410,6 +3476,10 @@ static HRESULT WINAPI TextPara_GetKeepWithNext(ITextPara *iface, LONG *value)
|
||||
@@ -3428,6 +3494,10 @@ static HRESULT WINAPI TextPara_GetKeepWithNext(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@ -195,7 +195,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3417,6 +3487,10 @@ static HRESULT WINAPI TextPara_SetKeepWithNext(ITextPara *iface, LONG value)
|
||||
@@ -3435,6 +3505,10 @@ static HRESULT WINAPI TextPara_SetKeepWithNext(ITextPara *iface, LONG value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%d)\n", This, value);
|
||||
@ -206,7 +206,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3424,6 +3498,10 @@ static HRESULT WINAPI TextPara_GetLeftIndent(ITextPara *iface, FLOAT *value)
|
||||
@@ -3442,6 +3516,10 @@ static HRESULT WINAPI TextPara_GetLeftIndent(ITextPara *iface, FLOAT *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@ -217,7 +217,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3431,6 +3509,10 @@ static HRESULT WINAPI TextPara_GetLineSpacing(ITextPara *iface, FLOAT *value)
|
||||
@@ -3449,6 +3527,10 @@ static HRESULT WINAPI TextPara_GetLineSpacing(ITextPara *iface, FLOAT *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@ -228,7 +228,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3438,6 +3520,10 @@ static HRESULT WINAPI TextPara_GetLineSpacingRule(ITextPara *iface, LONG *value)
|
||||
@@ -3456,6 +3538,10 @@ static HRESULT WINAPI TextPara_GetLineSpacingRule(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@ -239,7 +239,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3445,6 +3531,10 @@ static HRESULT WINAPI TextPara_GetListAlignment(ITextPara *iface, LONG *value)
|
||||
@@ -3463,6 +3549,10 @@ static HRESULT WINAPI TextPara_GetListAlignment(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@ -250,7 +250,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3452,6 +3542,10 @@ static HRESULT WINAPI TextPara_SetListAlignment(ITextPara *iface, LONG value)
|
||||
@@ -3470,6 +3560,10 @@ static HRESULT WINAPI TextPara_SetListAlignment(ITextPara *iface, LONG value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%d)\n", This, value);
|
||||
@ -261,7 +261,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3459,6 +3553,10 @@ static HRESULT WINAPI TextPara_GetListLevelIndex(ITextPara *iface, LONG *value)
|
||||
@@ -3477,6 +3571,10 @@ static HRESULT WINAPI TextPara_GetListLevelIndex(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@ -272,7 +272,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3466,6 +3564,10 @@ static HRESULT WINAPI TextPara_SetListLevelIndex(ITextPara *iface, LONG value)
|
||||
@@ -3484,6 +3582,10 @@ static HRESULT WINAPI TextPara_SetListLevelIndex(ITextPara *iface, LONG value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%d)\n", This, value);
|
||||
@ -283,7 +283,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3473,6 +3575,10 @@ static HRESULT WINAPI TextPara_GetListStart(ITextPara *iface, LONG *value)
|
||||
@@ -3491,6 +3593,10 @@ static HRESULT WINAPI TextPara_GetListStart(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@ -294,7 +294,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3480,6 +3586,10 @@ static HRESULT WINAPI TextPara_SetListStart(ITextPara *iface, LONG value)
|
||||
@@ -3498,6 +3604,10 @@ static HRESULT WINAPI TextPara_SetListStart(ITextPara *iface, LONG value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%d)\n", This, value);
|
||||
@ -305,7 +305,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3487,6 +3597,10 @@ static HRESULT WINAPI TextPara_GetListTab(ITextPara *iface, FLOAT *value)
|
||||
@@ -3505,6 +3615,10 @@ static HRESULT WINAPI TextPara_GetListTab(ITextPara *iface, FLOAT *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@ -316,7 +316,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3494,6 +3608,10 @@ static HRESULT WINAPI TextPara_SetListTab(ITextPara *iface, FLOAT value)
|
||||
@@ -3512,6 +3626,10 @@ static HRESULT WINAPI TextPara_SetListTab(ITextPara *iface, FLOAT value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%.2f)\n", This, value);
|
||||
@ -327,7 +327,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3501,6 +3619,10 @@ static HRESULT WINAPI TextPara_GetListType(ITextPara *iface, LONG *value)
|
||||
@@ -3519,6 +3637,10 @@ static HRESULT WINAPI TextPara_GetListType(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@ -338,7 +338,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3508,6 +3630,10 @@ static HRESULT WINAPI TextPara_SetListType(ITextPara *iface, LONG value)
|
||||
@@ -3526,6 +3648,10 @@ static HRESULT WINAPI TextPara_SetListType(ITextPara *iface, LONG value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%d)\n", This, value);
|
||||
@ -349,7 +349,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3515,6 +3641,10 @@ static HRESULT WINAPI TextPara_GetNoLineNumber(ITextPara *iface, LONG *value)
|
||||
@@ -3533,6 +3659,10 @@ static HRESULT WINAPI TextPara_GetNoLineNumber(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@ -360,7 +360,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3522,6 +3652,10 @@ static HRESULT WINAPI TextPara_SetNoLineNumber(ITextPara *iface, LONG value)
|
||||
@@ -3540,6 +3670,10 @@ static HRESULT WINAPI TextPara_SetNoLineNumber(ITextPara *iface, LONG value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%d)\n", This, value);
|
||||
@ -371,7 +371,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3529,6 +3663,10 @@ static HRESULT WINAPI TextPara_GetPageBreakBefore(ITextPara *iface, LONG *value)
|
||||
@@ -3547,6 +3681,10 @@ static HRESULT WINAPI TextPara_GetPageBreakBefore(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@ -382,7 +382,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3536,6 +3674,10 @@ static HRESULT WINAPI TextPara_SetPageBreakBefore(ITextPara *iface, LONG value)
|
||||
@@ -3554,6 +3692,10 @@ static HRESULT WINAPI TextPara_SetPageBreakBefore(ITextPara *iface, LONG value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%d)\n", This, value);
|
||||
@ -393,7 +393,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3543,6 +3685,10 @@ static HRESULT WINAPI TextPara_GetRightIndent(ITextPara *iface, FLOAT *value)
|
||||
@@ -3561,6 +3703,10 @@ static HRESULT WINAPI TextPara_GetRightIndent(ITextPara *iface, FLOAT *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@ -404,7 +404,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3550,6 +3696,10 @@ static HRESULT WINAPI TextPara_SetRightIndent(ITextPara *iface, FLOAT value)
|
||||
@@ -3568,6 +3714,10 @@ static HRESULT WINAPI TextPara_SetRightIndent(ITextPara *iface, FLOAT value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%.2f)\n", This, value);
|
||||
@ -415,7 +415,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3557,6 +3707,10 @@ static HRESULT WINAPI TextPara_SetIndents(ITextPara *iface, FLOAT StartIndent, F
|
||||
@@ -3575,6 +3725,10 @@ static HRESULT WINAPI TextPara_SetIndents(ITextPara *iface, FLOAT StartIndent, F
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%.2f %.2f %.2f)\n", This, StartIndent, LeftIndent, RightIndent);
|
||||
@ -426,7 +426,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3564,6 +3718,10 @@ static HRESULT WINAPI TextPara_SetLineSpacing(ITextPara *iface, LONG LineSpacing
|
||||
@@ -3582,6 +3736,10 @@ static HRESULT WINAPI TextPara_SetLineSpacing(ITextPara *iface, LONG LineSpacing
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%d %.2f)\n", This, LineSpacingRule, LineSpacing);
|
||||
@ -437,7 +437,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3571,6 +3729,10 @@ static HRESULT WINAPI TextPara_GetSpaceAfter(ITextPara *iface, FLOAT *value)
|
||||
@@ -3589,6 +3747,10 @@ static HRESULT WINAPI TextPara_GetSpaceAfter(ITextPara *iface, FLOAT *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@ -448,7 +448,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3578,6 +3740,10 @@ static HRESULT WINAPI TextPara_SetSpaceAfter(ITextPara *iface, FLOAT value)
|
||||
@@ -3596,6 +3758,10 @@ static HRESULT WINAPI TextPara_SetSpaceAfter(ITextPara *iface, FLOAT value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%.2f)\n", This, value);
|
||||
@ -459,7 +459,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3585,6 +3751,10 @@ static HRESULT WINAPI TextPara_GetSpaceBefore(ITextPara *iface, FLOAT *value)
|
||||
@@ -3603,6 +3769,10 @@ static HRESULT WINAPI TextPara_GetSpaceBefore(ITextPara *iface, FLOAT *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@ -470,7 +470,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3592,6 +3762,10 @@ static HRESULT WINAPI TextPara_SetSpaceBefore(ITextPara *iface, FLOAT value)
|
||||
@@ -3610,6 +3780,10 @@ static HRESULT WINAPI TextPara_SetSpaceBefore(ITextPara *iface, FLOAT value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%.2f)\n", This, value);
|
||||
@ -481,7 +481,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3599,6 +3773,10 @@ static HRESULT WINAPI TextPara_GetWidowControl(ITextPara *iface, LONG *value)
|
||||
@@ -3617,6 +3791,10 @@ static HRESULT WINAPI TextPara_GetWidowControl(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@ -492,7 +492,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3606,6 +3784,10 @@ static HRESULT WINAPI TextPara_SetWidowControl(ITextPara *iface, LONG value)
|
||||
@@ -3624,6 +3802,10 @@ static HRESULT WINAPI TextPara_SetWidowControl(ITextPara *iface, LONG value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%d)\n", This, value);
|
||||
@ -503,7 +503,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3613,6 +3795,10 @@ static HRESULT WINAPI TextPara_GetTabCount(ITextPara *iface, LONG *value)
|
||||
@@ -3631,6 +3813,10 @@ static HRESULT WINAPI TextPara_GetTabCount(ITextPara *iface, LONG *value)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%p)\n", This, value);
|
||||
@ -514,7 +514,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3620,6 +3806,10 @@ static HRESULT WINAPI TextPara_AddTab(ITextPara *iface, FLOAT tbPos, LONG tbAlig
|
||||
@@ -3638,6 +3824,10 @@ static HRESULT WINAPI TextPara_AddTab(ITextPara *iface, FLOAT tbPos, LONG tbAlig
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%.2f %d %d)\n", This, tbPos, tbAlign, tbLeader);
|
||||
@ -525,7 +525,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3627,6 +3817,10 @@ static HRESULT WINAPI TextPara_ClearAllTabs(ITextPara *iface)
|
||||
@@ -3645,6 +3835,10 @@ static HRESULT WINAPI TextPara_ClearAllTabs(ITextPara *iface)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)\n", This);
|
||||
@ -536,7 +536,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3634,6 +3828,10 @@ static HRESULT WINAPI TextPara_DeleteTab(ITextPara *iface, FLOAT pos)
|
||||
@@ -3652,6 +3846,10 @@ static HRESULT WINAPI TextPara_DeleteTab(ITextPara *iface, FLOAT pos)
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%.2f)\n", This, pos);
|
||||
@ -547,7 +547,7 @@ index 9f31654..c9e4753 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -3641,6 +3839,10 @@ static HRESULT WINAPI TextPara_GetTab(ITextPara *iface, LONG iTab, FLOAT *ptbPos
|
||||
@@ -3659,6 +3857,10 @@ static HRESULT WINAPI TextPara_GetTab(ITextPara *iface, LONG iTab, FLOAT *ptbPos
|
||||
{
|
||||
ITextParaImpl *This = impl_from_ITextPara(iface);
|
||||
FIXME("(%p)->(%d %p %p %p)\n", This, iTab, ptbPos, ptbAlign, ptbLeader);
|
||||
@ -559,10 +559,10 @@ index 9f31654..c9e4753 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/riched20/tests/richole.c b/dlls/riched20/tests/richole.c
|
||||
index 02576a8..06410e7 100644
|
||||
index 5f8e1cc..c148034 100644
|
||||
--- a/dlls/riched20/tests/richole.c
|
||||
+++ b/dlls/riched20/tests/richole.c
|
||||
@@ -3294,6 +3294,52 @@ static void test_ITextSelection_GetFont(void)
|
||||
@@ -3473,6 +3473,52 @@ static void test_ITextSelection_GetFont(void)
|
||||
ITextFont_Release(txtFont);
|
||||
}
|
||||
|
||||
@ -615,7 +615,7 @@ index 02576a8..06410e7 100644
|
||||
START_TEST(richole)
|
||||
{
|
||||
/* Must explicitly LoadLibrary(). The test has no references to functions in
|
||||
@@ -3318,6 +3364,7 @@ START_TEST(richole)
|
||||
@@ -3497,6 +3543,7 @@ START_TEST(richole)
|
||||
test_ITextRange_SetEnd();
|
||||
test_ITextRange_Collapse();
|
||||
test_ITextRange_GetFont();
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 2a85e756deac893ec3b83a03c1fb4e0b85be829f Mon Sep 17 00:00:00 2001
|
||||
From 9dee4d943b4dbbc64dbdaaf9052c094a6bb27ff3 Mon Sep 17 00:00:00 2001
|
||||
From: Jactry Zeng <wine@jactry.com>
|
||||
Date: Wed, 13 Aug 2014 14:57:52 +0800
|
||||
Subject: riched20: Fix ME_RunOfsFromCharOfs() when nCharOfs > strlen().
|
||||
@ -37,5 +37,5 @@ index 38d0270..ad08b82 100644
|
||||
|
||||
/******************************************************************************
|
||||
--
|
||||
2.4.0
|
||||
2.4.2
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 65420d15d3691b910578f3e2dab6d6c2fc25bbfe Mon Sep 17 00:00:00 2001
|
||||
From ce774a2b82262619fb882649ca02802e943ce404 Mon Sep 17 00:00:00 2001
|
||||
From: Jactry Zeng <wine@jactry.com>
|
||||
Date: Wed, 13 Aug 2014 15:40:11 +0800
|
||||
Subject: riched20: Implement ITextRange::GetText.
|
||||
@ -8,10 +8,10 @@ Subject: riched20: Implement ITextRange::GetText.
|
||||
1 file changed, 38 insertions(+)
|
||||
|
||||
diff --git a/dlls/riched20/tests/richole.c b/dlls/riched20/tests/richole.c
|
||||
index 06410e7..05c1f34 100644
|
||||
index c148034..051d9fe 100644
|
||||
--- a/dlls/riched20/tests/richole.c
|
||||
+++ b/dlls/riched20/tests/richole.c
|
||||
@@ -3340,6 +3340,43 @@ static void test_ITextRange_GetPara(void)
|
||||
@@ -3519,6 +3519,43 @@ static void test_ITextRange_GetPara(void)
|
||||
ITextPara_Release(txtPara);
|
||||
}
|
||||
|
||||
@ -55,7 +55,7 @@ index 06410e7..05c1f34 100644
|
||||
START_TEST(richole)
|
||||
{
|
||||
/* Must explicitly LoadLibrary(). The test has no references to functions in
|
||||
@@ -3365,6 +3402,7 @@ START_TEST(richole)
|
||||
@@ -3544,6 +3581,7 @@ START_TEST(richole)
|
||||
test_ITextRange_Collapse();
|
||||
test_ITextRange_GetFont();
|
||||
test_ITextRange_GetPara();
|
||||
|
@ -1,4 +1,4 @@
|
||||
From e97c89d122de411b7889944b20b4cefa20e1f848 Mon Sep 17 00:00:00 2001
|
||||
From 4cbf20d7de172a442808f0c9a78d360ea2e57e5b Mon Sep 17 00:00:00 2001
|
||||
From: Jactry Zeng <wine@jactry.com>
|
||||
Date: Wed, 13 Aug 2014 17:17:14 +0800
|
||||
Subject: riched20: Implement ITextRange::SetRange.
|
||||
@ -9,10 +9,10 @@ Subject: riched20: Implement ITextRange::SetRange.
|
||||
2 files changed, 60 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/dlls/riched20/richole.c b/dlls/riched20/richole.c
|
||||
index c9e4753..6762441 100644
|
||||
index c309292..8aea23e 100644
|
||||
--- a/dlls/riched20/richole.c
|
||||
+++ b/dlls/riched20/richole.c
|
||||
@@ -1974,14 +1974,36 @@ static HRESULT WINAPI ITextRange_fnSetIndex(ITextRange *me, LONG Unit, LONG Inde
|
||||
@@ -1990,14 +1990,36 @@ static HRESULT WINAPI ITextRange_fnSetIndex(ITextRange *me, LONG Unit, LONG Inde
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@ -51,7 +51,7 @@ index c9e4753..6762441 100644
|
||||
}
|
||||
|
||||
static HRESULT textrange_inrange(LONG start, LONG end, ITextRange *range, LONG *ret)
|
||||
@@ -4180,26 +4202,12 @@ ITextDocument_fnRange(ITextDocument* me, LONG cp1, LONG cp2,
|
||||
@@ -4198,26 +4220,12 @@ ITextDocument_fnRange(ITextDocument* me, LONG cp1, LONG cp2,
|
||||
ITextRange** ppRange)
|
||||
{
|
||||
IRichEditOleImpl *This = impl_from_ITextDocument(me);
|
||||
@ -80,10 +80,10 @@ index c9e4753..6762441 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/riched20/tests/richole.c b/dlls/riched20/tests/richole.c
|
||||
index 05c1f34..4c8a2e5 100644
|
||||
index 051d9fe..6e00b21 100644
|
||||
--- a/dlls/riched20/tests/richole.c
|
||||
+++ b/dlls/riched20/tests/richole.c
|
||||
@@ -3377,6 +3377,40 @@ static void test_ITextRange_GetText(void)
|
||||
@@ -3556,6 +3556,40 @@ static void test_ITextRange_GetText(void)
|
||||
TEST_TXTRGE_GETTEXT(1, 1, NULL)
|
||||
}
|
||||
|
||||
@ -124,7 +124,7 @@ index 05c1f34..4c8a2e5 100644
|
||||
START_TEST(richole)
|
||||
{
|
||||
/* Must explicitly LoadLibrary(). The test has no references to functions in
|
||||
@@ -3403,6 +3437,7 @@ START_TEST(richole)
|
||||
@@ -3582,6 +3616,7 @@ START_TEST(richole)
|
||||
test_ITextRange_GetFont();
|
||||
test_ITextRange_GetPara();
|
||||
test_ITextRange_GetText();
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 068997a807063442045442273323dc5d2e62835c Mon Sep 17 00:00:00 2001
|
||||
From 52cb6b771a61011c39c4c8f402709d8d119d43f5 Mon Sep 17 00:00:00 2001
|
||||
From: Jactry Zeng <wine@jactry.com>
|
||||
Date: Fri, 15 Aug 2014 14:27:21 +0800
|
||||
Subject: riched20: Implement ITextRange::IsEqual.
|
||||
@ -8,10 +8,10 @@ Subject: riched20: Implement ITextRange::IsEqual.
|
||||
1 file changed, 47 insertions(+)
|
||||
|
||||
diff --git a/dlls/riched20/tests/richole.c b/dlls/riched20/tests/richole.c
|
||||
index 4c8a2e5..2618138 100644
|
||||
index 6e00b21..ae087b7 100644
|
||||
--- a/dlls/riched20/tests/richole.c
|
||||
+++ b/dlls/riched20/tests/richole.c
|
||||
@@ -3411,6 +3411,52 @@ static void test_ITextRange_SetRange(void)
|
||||
@@ -3590,6 +3590,52 @@ static void test_ITextRange_SetRange(void)
|
||||
release_interfaces(&w, &reOle, &txtDoc, NULL);
|
||||
}
|
||||
|
||||
@ -64,7 +64,7 @@ index 4c8a2e5..2618138 100644
|
||||
START_TEST(richole)
|
||||
{
|
||||
/* Must explicitly LoadLibrary(). The test has no references to functions in
|
||||
@@ -3438,6 +3484,7 @@ START_TEST(richole)
|
||||
@@ -3617,6 +3663,7 @@ START_TEST(richole)
|
||||
test_ITextRange_GetPara();
|
||||
test_ITextRange_GetText();
|
||||
test_ITextRange_SetRange();
|
||||
|
@ -1,41 +1,17 @@
|
||||
From c0a3f18523c07ebb9bb26a6902ce07c69f283ca6 Mon Sep 17 00:00:00 2001
|
||||
From e53964c35b8005bf77f9088276604e7b47fdf475 Mon Sep 17 00:00:00 2001
|
||||
From: Jactry Zeng <wine@jactry.com>
|
||||
Date: Mon, 18 Aug 2014 14:38:50 +0800
|
||||
Subject: riched20: Implement ITextRange::GetStoryLength.
|
||||
|
||||
---
|
||||
dlls/riched20/richole.c | 9 +++++++--
|
||||
dlls/riched20/tests/richole.c | 32 ++++++++++++++++++++++++++++++++
|
||||
2 files changed, 39 insertions(+), 2 deletions(-)
|
||||
1 file changed, 32 insertions(+)
|
||||
|
||||
diff --git a/dlls/riched20/richole.c b/dlls/riched20/richole.c
|
||||
index 6762441..1817c09 100644
|
||||
--- a/dlls/riched20/richole.c
|
||||
+++ b/dlls/riched20/richole.c
|
||||
@@ -1896,11 +1896,16 @@ static HRESULT WINAPI ITextRange_fnSetPara(ITextRange *me, ITextPara *pPara)
|
||||
static HRESULT WINAPI ITextRange_fnGetStoryLength(ITextRange *me, LONG *pcch)
|
||||
{
|
||||
ITextRangeImpl *This = impl_from_ITextRange(me);
|
||||
+
|
||||
+ TRACE("(%p)->(%p)\n", This, pcch);
|
||||
+
|
||||
if (!This->child.reole)
|
||||
return CO_E_RELEASED;
|
||||
|
||||
- FIXME("not implemented %p\n", This);
|
||||
- return E_NOTIMPL;
|
||||
+ if (!pcch)
|
||||
+ return E_INVALIDARG;
|
||||
+ *pcch = ME_GetTextLength(This->child.reole->editor) + 1;
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI ITextRange_fnGetStoryType(ITextRange *me, LONG *value)
|
||||
diff --git a/dlls/riched20/tests/richole.c b/dlls/riched20/tests/richole.c
|
||||
index 2618138..c9bdc28 100644
|
||||
index ae087b7..55d27d4 100644
|
||||
--- a/dlls/riched20/tests/richole.c
|
||||
+++ b/dlls/riched20/tests/richole.c
|
||||
@@ -3457,6 +3457,37 @@ static void test_ITextRange_IsEqual2(void)
|
||||
@@ -3636,6 +3636,37 @@ static void test_ITextRange_IsEqual2(void)
|
||||
release_interfaces(&w, &reOle, &txtDoc, NULL);
|
||||
}
|
||||
|
||||
@ -73,7 +49,7 @@ index 2618138..c9bdc28 100644
|
||||
START_TEST(richole)
|
||||
{
|
||||
/* Must explicitly LoadLibrary(). The test has no references to functions in
|
||||
@@ -3485,6 +3516,7 @@ START_TEST(richole)
|
||||
@@ -3664,6 +3695,7 @@ START_TEST(richole)
|
||||
test_ITextRange_GetText();
|
||||
test_ITextRange_SetRange();
|
||||
test_ITextRange_IsEqual2();
|
||||
|
@ -1,35 +1,17 @@
|
||||
From 2ca1d411b5123260dff81a0cc62b589f0ff99f8c Mon Sep 17 00:00:00 2001
|
||||
From 56bf18bcf782cea24efa378eb3ec58b171083e71 Mon Sep 17 00:00:00 2001
|
||||
From: Jactry Zeng <wine@jactry.com>
|
||||
Date: Mon, 18 Aug 2014 14:47:14 +0800
|
||||
Subject: riched20: Implement ITextSelection::GetStoryLength.
|
||||
|
||||
---
|
||||
dlls/riched20/richole.c | 6 ++++--
|
||||
dlls/riched20/tests/richole.c | 30 ++++++++++++++++++++++++++++++
|
||||
2 files changed, 34 insertions(+), 2 deletions(-)
|
||||
1 file changed, 30 insertions(+)
|
||||
|
||||
diff --git a/dlls/riched20/richole.c b/dlls/riched20/richole.c
|
||||
index 26a6da6..c1b350b 100644
|
||||
--- a/dlls/riched20/richole.c
|
||||
+++ b/dlls/riched20/richole.c
|
||||
@@ -4544,8 +4544,10 @@ static HRESULT WINAPI ITextSelection_fnGetStoryLength(ITextSelection *me, LONG *
|
||||
if (!This->reOle)
|
||||
return CO_E_RELEASED;
|
||||
|
||||
- FIXME("not implemented\n");
|
||||
- return E_NOTIMPL;
|
||||
+ if (!pcch)
|
||||
+ return E_INVALIDARG;
|
||||
+ *pcch = ME_GetTextLength(This->reOle->editor) + 1;
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI ITextSelection_fnGetStoryType(ITextSelection *me, LONG *value)
|
||||
diff --git a/dlls/riched20/tests/richole.c b/dlls/riched20/tests/richole.c
|
||||
index 72f324e..0cada69 100644
|
||||
index 55d27d4..854ec09 100644
|
||||
--- a/dlls/riched20/tests/richole.c
|
||||
+++ b/dlls/riched20/tests/richole.c
|
||||
@@ -3479,6 +3479,35 @@ static void test_ITextRange_GetStoryLength(void)
|
||||
@@ -3667,6 +3667,35 @@ static void test_ITextRange_GetStoryLength(void)
|
||||
release_interfaces(&w, &reOle, &txtDoc, NULL);
|
||||
}
|
||||
|
||||
@ -65,7 +47,7 @@ index 72f324e..0cada69 100644
|
||||
START_TEST(richole)
|
||||
{
|
||||
/* Must explicitly LoadLibrary(). The test has no references to functions in
|
||||
@@ -3495,6 +3524,7 @@ START_TEST(richole)
|
||||
@@ -3683,6 +3712,7 @@ START_TEST(richole)
|
||||
test_ITextSelection_SetEnd();
|
||||
test_ITextSelection_Collapse();
|
||||
test_ITextSelection_GetFont();
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user