diff --git a/patches/advapi32-Token_Integrity_Level/0010-server-Implement-support-for-creating-processes-usin.patch b/patches/advapi32-Token_Integrity_Level/0010-server-Implement-support-for-creating-processes-usin.patch index 4884c695..c7cede5f 100644 --- a/patches/advapi32-Token_Integrity_Level/0010-server-Implement-support-for-creating-processes-usin.patch +++ b/patches/advapi32-Token_Integrity_Level/0010-server-Implement-support-for-creating-processes-usin.patch @@ -1,4 +1,4 @@ -From f57639dc3da18dbb89889e81d274964fec682d3b Mon Sep 17 00:00:00 2001 +From ed2822f9c9c1178b78872b13aa5d5df1a397bd35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sun, 6 Aug 2017 02:08:05 +0200 Subject: [PATCH] server: Implement support for creating processes using a @@ -15,7 +15,7 @@ Subject: [PATCH] server: Implement support for creating processes using a 7 files changed, 59 insertions(+), 21 deletions(-) diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c -index 15460aa..60d7cea 100644 +index e9d10ee..4ea7f1d 100644 --- a/dlls/kernel32/process.c +++ b/dlls/kernel32/process.c @@ -2203,7 +2203,7 @@ static NTSTATUS alloc_object_attributes( const SECURITY_ATTRIBUTES *attr, struct @@ -43,17 +43,17 @@ index 15460aa..60d7cea 100644 +static BOOL create_vdm_process( HANDLE token, LPCWSTR filename, LPWSTR cmd_line, LPWSTR env, LPCWSTR cur_dir, LPSECURITY_ATTRIBUTES psa, LPSECURITY_ATTRIBUTES tsa, BOOL inherit, DWORD flags, LPSTARTUPINFOW startup, - LPPROCESS_INFORMATION info, LPCSTR unixdir, -@@ -2456,7 +2457,7 @@ static BOOL create_vdm_process( LPCWSTR filename, LPWSTR cmd_line, LPWSTR env, L - return FALSE; - } + LPPROCESS_INFORMATION info, LPCSTR unixdir, int exec_only ) +@@ -2458,7 +2459,7 @@ static BOOL create_vdm_process( LPCWSTR filename, LPWSTR cmd_line, LPWSTR env, L sprintfW(new_cmd_line, argsW, winevdmW, buffer, cmd_line); + memset( &pe_info, 0, sizeof(pe_info) ); + pe_info.machine = IMAGE_FILE_MACHINE_I386; - ret = create_process( 0, winevdmW, new_cmd_line, env, cur_dir, psa, tsa, inherit, + ret = create_process( token, 0, winevdmW, new_cmd_line, env, cur_dir, psa, tsa, inherit, - flags, startup, info, unixdir, pe_info, exec_only ); + flags, startup, info, unixdir, &pe_info, exec_only ); HeapFree( GetProcessHeap(), 0, new_cmd_line ); return ret; -@@ -2468,7 +2469,7 @@ static BOOL create_vdm_process( LPCWSTR filename, LPWSTR cmd_line, LPWSTR env, L +@@ -2470,7 +2471,7 @@ static BOOL create_vdm_process( LPCWSTR filename, LPWSTR cmd_line, LPWSTR env, L * * Create a new cmd shell process for a .BAT file. */ @@ -62,7 +62,7 @@ index 15460aa..60d7cea 100644 LPSECURITY_ATTRIBUTES psa, LPSECURITY_ATTRIBUTES tsa, BOOL inherit, DWORD flags, LPSTARTUPINFOW startup, LPPROCESS_INFORMATION info ) -@@ -2496,8 +2497,8 @@ static BOOL create_cmd_process( LPCWSTR filename, LPWSTR cmd_line, LPVOID env, L +@@ -2498,8 +2499,8 @@ static BOOL create_cmd_process( LPCWSTR filename, LPWSTR cmd_line, LPVOID env, L strcatW( newcmdline, quotW ); strcatW( newcmdline, cmd_line ); strcatW( newcmdline, quotW ); @@ -73,7 +73,7 @@ index 15460aa..60d7cea 100644 HeapFree( GetProcessHeap(), 0, newcmdline ); return ret; } -@@ -2609,7 +2610,9 @@ BOOL WINAPI CreateProcessInternalW( HANDLE token, LPCWSTR app_name, LPWSTR cmd_l +@@ -2611,7 +2612,9 @@ BOOL WINAPI CreateProcessInternalW( HANDLE token, LPCWSTR app_name, LPWSTR cmd_l TRACE("app %s cmdline %s\n", debugstr_w(app_name), debugstr_w(cmd_line) ); @@ -84,7 +84,7 @@ index 15460aa..60d7cea 100644 if (new_token) FIXME("No support for returning created process token\n"); if (!(tidy_cmdline = get_file_name( app_name, cmd_line, name, ARRAY_SIZE( name ), &hFile, &is_64bit ))) -@@ -2686,18 +2689,18 @@ BOOL WINAPI CreateProcessInternalW( HANDLE token, LPCWSTR app_name, LPWSTR cmd_l +@@ -2688,18 +2691,18 @@ BOOL WINAPI CreateProcessInternalW( HANDLE token, LPCWSTR app_name, LPWSTR cmd_l debugstr_w(name), is_64bit_arch(pe_info.machine) ? 64 : 32, wine_dbgstr_longlong(pe_info.base), wine_dbgstr_longlong(pe_info.base + pe_info.map_size), pe_info.machine ); @@ -96,7 +96,7 @@ index 15460aa..60d7cea 100644 TRACE( "starting %s as Win16/DOS binary\n", debugstr_w(name) ); - retv = create_vdm_process( name, tidy_cmdline, envW, cur_dir, process_attr, thread_attr, + retv = create_vdm_process( token, name, tidy_cmdline, envW, cur_dir, process_attr, thread_attr, - inherit, flags, startup_info, info, unixdir, &pe_info, FALSE ); + inherit, flags, startup_info, info, unixdir, FALSE ); break; case BINARY_UNIX_LIB: TRACE( "starting %s as %d-bit Winelib app\n", @@ -106,13 +106,13 @@ index 15460aa..60d7cea 100644 inherit, flags, startup_info, info, unixdir, &pe_info, FALSE ); break; case BINARY_UNKNOWN: -@@ -2708,14 +2711,14 @@ BOOL WINAPI CreateProcessInternalW( HANDLE token, LPCWSTR app_name, LPWSTR cmd_l +@@ -2709,14 +2712,14 @@ BOOL WINAPI CreateProcessInternalW( HANDLE token, LPCWSTR app_name, LPWSTR cmd_l + if (!strcmpiW( p, comW ) || !strcmpiW( p, pifW )) { TRACE( "starting %s as DOS binary\n", debugstr_w(name) ); - pe_info.machine = IMAGE_FILE_MACHINE_I386; - retv = create_vdm_process( name, tidy_cmdline, envW, cur_dir, process_attr, thread_attr, + retv = create_vdm_process( token, name, tidy_cmdline, envW, cur_dir, process_attr, thread_attr, - inherit, flags, startup_info, info, unixdir, &pe_info, FALSE ); + inherit, flags, startup_info, info, unixdir, FALSE ); break; } if (!strcmpiW( p, batW ) || !strcmpiW( p, cmdW ) ) @@ -123,7 +123,7 @@ index 15460aa..60d7cea 100644 inherit, flags, startup_info, info ); break; } -@@ -2831,12 +2834,12 @@ static void exec_process( LPCWSTR name ) +@@ -2832,12 +2835,12 @@ static void exec_process( LPCWSTR name ) debugstr_w(name), is_64bit_arch(pe_info.machine) ? 64 : 32, wine_dbgstr_longlong(pe_info.base), wine_dbgstr_longlong(pe_info.base + pe_info.map_size), pe_info.machine ); @@ -144,7 +144,7 @@ index 15460aa..60d7cea 100644 TRACE( "starting %s as Win16/DOS binary\n", debugstr_w(name) ); - create_vdm_process( name, GetCommandLineW(), NULL, NULL, NULL, NULL, + create_vdm_process( NULL, name, GetCommandLineW(), NULL, NULL, NULL, NULL, - FALSE, 0, &startup_info, &info, NULL, &pe_info, TRUE ); + FALSE, 0, &startup_info, &info, NULL, TRUE ); break; default: diff --git a/server/process.c b/server/process.c diff --git a/patches/ntdll-FileDispositionInformation/0001-ntdll-tests-Added-tests-to-set-disposition-on-file-w.patch b/patches/ntdll-FileDispositionInformation/0001-ntdll-tests-Added-tests-to-set-disposition-on-file-w.patch index a409c20a..e4a3bb4f 100644 --- a/patches/ntdll-FileDispositionInformation/0001-ntdll-tests-Added-tests-to-set-disposition-on-file-w.patch +++ b/patches/ntdll-FileDispositionInformation/0001-ntdll-tests-Added-tests-to-set-disposition-on-file-w.patch @@ -1,4 +1,4 @@ -From c04c1737fad3efc975d9cedcd2f12547cc482f68 Mon Sep 17 00:00:00 2001 +From 3b075f8bd5e11c89d3c5c86350a492b21a8f2437 Mon Sep 17 00:00:00 2001 From: Qian Hong Date: Fri, 17 Apr 2015 00:59:02 +0800 Subject: ntdll/tests: Added tests to set disposition on file which is mapped @@ -9,15 +9,15 @@ Subject: ntdll/tests: Added tests to set disposition on file which is mapped 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c -index 2e630e3..740e44a 100644 +index 42eece5..34ece75 100644 --- a/dlls/ntdll/tests/file.c +++ b/dlls/ntdll/tests/file.c -@@ -2099,12 +2099,13 @@ static void test_file_disposition_information(void) +@@ -2618,12 +2618,13 @@ static void test_file_disposition_information(void) { char tmp_path[MAX_PATH], buffer[MAX_PATH + 16]; DWORD dirpos; -- HANDLE handle, handle2; -+ HANDLE handle, handle2, mapping; +- HANDLE handle, handle2, handle3; ++ HANDLE handle, handle2, handle3, mapping; NTSTATUS res; IO_STATUS_BLOCK io; FILE_DISPOSITION_INFORMATION fdi; @@ -27,7 +27,7 @@ index 2e630e3..740e44a 100644 GetTempPathA( MAX_PATH, tmp_path ); -@@ -2269,6 +2270,74 @@ static void test_file_disposition_information(void) +@@ -2946,6 +2947,74 @@ todo_wine todo_wine ok( !fileDeleted, "Directory shouldn't have been deleted\n" ); RemoveDirectoryA( buffer ); @@ -103,5 +103,5 @@ index 2e630e3..740e44a 100644 static void test_iocompletion(void) -- -2.5.0 +2.7.4 diff --git a/patches/ntdll-Junction_Points/0001-ntdll-Add-support-for-junction-point-creation.patch b/patches/ntdll-Junction_Points/0001-ntdll-Add-support-for-junction-point-creation.patch index 4a4a89d6..2ff39d79 100644 --- a/patches/ntdll-Junction_Points/0001-ntdll-Add-support-for-junction-point-creation.patch +++ b/patches/ntdll-Junction_Points/0001-ntdll-Add-support-for-junction-point-creation.patch @@ -1,4 +1,4 @@ -From 97655d49034368dde4a9565f15692ae9416b8bc8 Mon Sep 17 00:00:00 2001 +From 204020058c317ff7180f3d637da102526751ac29 Mon Sep 17 00:00:00 2001 From: "Erich E. Hoover" Date: Thu, 16 Jan 2014 20:56:49 -0700 Subject: [PATCH] ntdll: Add support for junction point creation. @@ -6,20 +6,18 @@ Subject: [PATCH] ntdll: Add support for junction point creation. --- dlls/ntdll/file.c | 91 +++++++++++++++++++++++++++++++++++++++++++++++ dlls/ntdll/tests/file.c | 94 +++++++++++++++++++++++++++++++++++++++++++++++++ - include/Makefile.in | 1 + - include/ntifs.h | 50 ++++++++++++++++++++++++++ - 4 files changed, 236 insertions(+) - create mode 100644 include/ntifs.h + include/ddk/ntifs.h | 26 ++++++++++++++ + 3 files changed, 211 insertions(+) diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c -index c4528fe..8cd673a 100644 +index 348a6b6..d34a28d 100644 --- a/dlls/ntdll/file.c +++ b/dlls/ntdll/file.c @@ -108,12 +108,14 @@ #include "winioctl.h" #include "ddk/ntddk.h" #include "ddk/ntddser.h" -+#include "ntifs.h" ++#include "ddk/ntifs.h" WINE_DEFAULT_DEBUG_CHANNEL(ntdll); WINE_DECLARE_DEBUG_CHANNEL(winediag); @@ -107,7 +105,7 @@ index c4528fe..8cd673a 100644 /************************************************************************** * NtFsControlFile [NTDLL.@] * ZwFsControlFile [NTDLL.@] -@@ -1738,11 +1810,30 @@ NTSTATUS WINAPI NtFsControlFile(HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc +@@ -1728,11 +1800,30 @@ NTSTATUS WINAPI NtFsControlFile(HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc } break; } @@ -139,18 +137,18 @@ index c4528fe..8cd673a 100644 return server_ioctl_file( handle, event, apc, apc_context, io, code, in_buffer, in_size, out_buffer, out_size ); diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c -index bf87000..198e415 100644 +index 6d5ce72..60b32f5 100644 --- a/dlls/ntdll/tests/file.c +++ b/dlls/ntdll/tests/file.c -@@ -37,6 +37,7 @@ - #include "winternl.h" +@@ -38,6 +38,7 @@ #include "winuser.h" #include "winioctl.h" -+#include "ntifs.h" + #include "winnls.h" ++#include "ddk/ntifs.h" #ifndef IO_COMPLETION_ALL_ACCESS #define IO_COMPLETION_ALL_ACCESS 0x001F0003 -@@ -4335,6 +4336,98 @@ static void test_query_ea(void) +@@ -4540,6 +4541,98 @@ static void test_query_ea(void) #undef EA_BUFFER_SIZE } @@ -249,53 +247,20 @@ index bf87000..198e415 100644 START_TEST(file) { HMODULE hkernel32 = GetModuleHandleA("kernel32.dll"); -@@ -4401,4 +4494,5 @@ START_TEST(file) +@@ -4607,4 +4700,5 @@ START_TEST(file) test_ioctl(); test_flush_buffers_file(); test_query_ea(); + test_junction_points(); } -diff --git a/include/Makefile.in b/include/Makefile.in -index 78ab095..dc2bede 100644 ---- a/include/Makefile.in -+++ b/include/Makefile.in -@@ -469,6 +469,7 @@ SOURCES = \ - ntddstor.h \ - ntdef.h \ - ntdsapi.h \ -+ ntifs.h \ - ntlsa.h \ - ntquery.h \ - ntsecapi.h \ -diff --git a/include/ntifs.h b/include/ntifs.h -new file mode 100644 -index 0000000..85100fe ---- /dev/null -+++ b/include/ntifs.h -@@ -0,0 +1,50 @@ -+/* -+ * Win32 definitions for Windows NT -+ * -+ * Copyright 2012 Erich Hoover -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA -+ */ -+ -+#ifndef __WINE_NTIFS_H -+#define __WINE_NTIFS_H -+ +diff --git a/include/ddk/ntifs.h b/include/ddk/ntifs.h +index a1ed847..ccbd2a7 100644 +--- a/include/ddk/ntifs.h ++++ b/include/ddk/ntifs.h +@@ -132,4 +132,30 @@ typedef struct _FS_FILTER_CALLBACKS + BOOLEAN WINAPI FsRtlIsNameInExpression(PUNICODE_STRING, PUNICODE_STRING, BOOLEAN, PWCH); + NTSTATUS WINAPI ObQueryNameString(PVOID,POBJECT_NAME_INFORMATION,ULONG,PULONG); + +typedef struct _REPARSE_DATA_BUFFER { + ULONG ReparseTag; + USHORT ReparseDataLength; @@ -322,7 +287,7 @@ index 0000000..85100fe + }; +} REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER; + -+#endif /* __WINE_NTIFS_H */ + #endif -- -1.9.1 +2.7.4 diff --git a/patches/ntdll-Junction_Points/0003-ntdll-Add-support-for-deleting-junction-points.patch b/patches/ntdll-Junction_Points/0003-ntdll-Add-support-for-deleting-junction-points.patch index c86ec5b3..565cbe17 100644 --- a/patches/ntdll-Junction_Points/0003-ntdll-Add-support-for-deleting-junction-points.patch +++ b/patches/ntdll-Junction_Points/0003-ntdll-Add-support-for-deleting-junction-points.patch @@ -1,4 +1,4 @@ -From 029fb5b0aa9c8ecb76da3aae5a2394072bf2fa33 Mon Sep 17 00:00:00 2001 +From 1fe09b6fd1dd6fe7520932c2c226728301d5d099 Mon Sep 17 00:00:00 2001 From: "Erich E. Hoover" Date: Thu, 16 Jan 2014 21:00:21 -0700 Subject: [PATCH] ntdll: Add support for deleting junction points. @@ -6,11 +6,11 @@ Subject: [PATCH] ntdll: Add support for deleting junction points. --- dlls/ntdll/file.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++ dlls/ntdll/tests/file.c | 22 +++++++++++++++++++++ - include/ntifs.h | 12 ++++++++++++ + include/ddk/ntifs.h | 12 ++++++++++++ 3 files changed, 85 insertions(+) diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c -index 73f9de4..4594c57 100644 +index 66cc16a..9b8d4c8 100644 --- a/dlls/ntdll/file.c +++ b/dlls/ntdll/file.c @@ -1775,6 +1775,41 @@ cleanup: @@ -55,7 +55,7 @@ index 73f9de4..4594c57 100644 /************************************************************************** * NtFsControlFile [NTDLL.@] * ZwFsControlFile [NTDLL.@] -@@ -1871,6 +1906,22 @@ NTSTATUS WINAPI NtFsControlFile(HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc +@@ -1861,6 +1896,22 @@ NTSTATUS WINAPI NtFsControlFile(HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc status = STATUS_SUCCESS; break; @@ -79,10 +79,10 @@ index 73f9de4..4594c57 100644 { REPARSE_DATA_BUFFER *buffer = (REPARSE_DATA_BUFFER *)out_buffer; diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c -index 286d1e4..a5cb3b7 100644 +index 94d5a04..a92961d 100644 --- a/dlls/ntdll/tests/file.c +++ b/dlls/ntdll/tests/file.c -@@ -4360,12 +4360,15 @@ static void test_junction_points(void) +@@ -4565,12 +4565,15 @@ static void test_junction_points(void) static const WCHAR junctionW[] = {'\\','j','u','n','c','t','i','o','n',0}; WCHAR path[MAX_PATH], junction_path[MAX_PATH], target_path[MAX_PATH]; static const WCHAR targetW[] = {'\\','t','a','r','g','e','t',0}; @@ -98,7 +98,7 @@ index 286d1e4..a5cb3b7 100644 UNICODE_STRING nameW; HANDLE hJunction; WCHAR *dest; -@@ -4413,6 +4416,8 @@ static void test_junction_points(void) +@@ -4618,6 +4621,8 @@ static void test_junction_points(void) win_skip("Failed to open junction point directory handle (0x%x).\n", GetLastError()); goto cleanup; } @@ -107,7 +107,7 @@ index 286d1e4..a5cb3b7 100644 buffer_len = build_reparse_buffer(nameW.Buffer, &buffer); bret = DeviceIoControl(hJunction, FSCTL_SET_REPARSE_POINT, (LPVOID)buffer, buffer_len, NULL, 0, &dwret, 0); ok(bret, "Failed to create junction point! (0x%x)\n", GetLastError()); -@@ -4427,6 +4432,23 @@ static void test_junction_points(void) +@@ -4632,6 +4637,23 @@ static void test_junction_points(void) ok(bret, "Failed to read junction point!\n"); ok((memcmp(dest, nameW.Buffer, string_len) == 0), "Junction point destination does not match ('%s' != '%s')!\n", wine_dbgstr_w(dest), wine_dbgstr_w(nameW.Buffer)); @@ -131,11 +131,11 @@ index 286d1e4..a5cb3b7 100644 CloseHandle(hJunction); cleanup: -diff --git a/include/ntifs.h b/include/ntifs.h -index 85100fe..10820e4 100644 ---- a/include/ntifs.h -+++ b/include/ntifs.h -@@ -47,4 +47,16 @@ typedef struct _REPARSE_DATA_BUFFER { +diff --git a/include/ddk/ntifs.h b/include/ddk/ntifs.h +index ccbd2a7..679d8ba 100644 +--- a/include/ddk/ntifs.h ++++ b/include/ddk/ntifs.h +@@ -158,4 +158,16 @@ typedef struct _REPARSE_DATA_BUFFER { }; } REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER; @@ -151,7 +151,7 @@ index 85100fe..10820e4 100644 + +#define REPARSE_GUID_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_GUID_DATA_BUFFER, GenericReparseBuffer) + - #endif /* __WINE_NTIFS_H */ + #endif -- -1.9.1 +2.7.4 diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 626f4421..9fe63bfa 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "d8f3f1b71726b793f2f9a86225a73a7d286e62b3" + echo "f11563c65fa50e2f8b7e39cade34bb7a998b26f7" } # Show version information @@ -4844,8 +4844,7 @@ fi # | * [#12401] Support for Junction Points # | # | Modified files: -# | * dlls/kernel32/path.c, dlls/kernel32/volume.c, dlls/ntdll/file.c, dlls/ntdll/tests/file.c, include/Makefile.in, -# | include/ntifs.h +# | * dlls/kernel32/path.c, dlls/kernel32/volume.c, dlls/ntdll/file.c, dlls/ntdll/tests/file.c, include/ddk/ntifs.h # | if test "$enable_ntdll_Junction_Points" -eq 1; then patch_apply ntdll-Junction_Points/0001-ntdll-Add-support-for-junction-point-creation.patch diff --git a/patches/riched20-IText_Interface/0006-riched20-Implement-ITextRange-SetRange.patch b/patches/riched20-IText_Interface/0006-riched20-Implement-ITextRange-SetRange.patch index 8989dc9c..1e4588cf 100644 --- a/patches/riched20-IText_Interface/0006-riched20-Implement-ITextRange-SetRange.patch +++ b/patches/riched20-IText_Interface/0006-riched20-Implement-ITextRange-SetRange.patch @@ -1,4 +1,4 @@ -From 1d213a01d28a273c2b1b46dac6b606864cc88321 Mon Sep 17 00:00:00 2001 +From ac8cabefac07d17d2fdf33b26444b74e5c910abf Mon Sep 17 00:00:00 2001 From: Jactry Zeng 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(+), 16 deletions(-) diff --git a/dlls/riched20/richole.c b/dlls/riched20/richole.c -index cc1a3c9..e432c79 100644 +index 76f70a6..71fdf29 100644 --- a/dlls/riched20/richole.c +++ b/dlls/riched20/richole.c -@@ -2003,6 +2003,23 @@ static HRESULT WINAPI ITextRange_fnSetIndex(ITextRange *me, LONG unit, LONG inde +@@ -2016,6 +2016,23 @@ static HRESULT WINAPI ITextRange_fnSetIndex(ITextRange *me, LONG unit, LONG inde return E_NOTIMPL; } @@ -36,7 +36,7 @@ index cc1a3c9..e432c79 100644 static HRESULT WINAPI ITextRange_fnSetRange(ITextRange *me, LONG anchor, LONG active) { ITextRangeImpl *This = impl_from_ITextRange(me); -@@ -2012,7 +2029,13 @@ static HRESULT WINAPI ITextRange_fnSetRange(ITextRange *me, LONG anchor, LONG ac +@@ -2025,7 +2042,13 @@ static HRESULT WINAPI ITextRange_fnSetRange(ITextRange *me, LONG anchor, LONG ac if (!This->child.reole) return CO_E_RELEASED; @@ -51,10 +51,10 @@ index cc1a3c9..e432c79 100644 } static HRESULT textrange_inrange(LONG start, LONG end, ITextRange *range, LONG *ret) -@@ -4263,26 +4286,12 @@ ITextDocument_fnRange(ITextDocument* me, LONG cp1, LONG cp2, - ITextRange** ppRange) +@@ -4317,26 +4340,12 @@ static HRESULT WINAPI ITextDocument2Old_fnRange(ITextDocument2Old *iface, LONG c + ITextRange **ppRange) { - IRichEditOleImpl *This = impl_from_ITextDocument(me); + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface); - const int len = ME_GetTextLength(This->editor) + 1; TRACE("%p %p %d %d\n", This, ppRange, cp1, cp2); @@ -80,10 +80,10 @@ index cc1a3c9..e432c79 100644 } diff --git a/dlls/riched20/tests/richole.c b/dlls/riched20/tests/richole.c -index 051d9fe..6e00b21 100644 +index dfc6799..c98b536 100644 --- a/dlls/riched20/tests/richole.c +++ b/dlls/riched20/tests/richole.c -@@ -3556,6 +3556,40 @@ static void test_ITextRange_GetText(void) +@@ -4009,6 +4009,40 @@ static void test_ITextRange_GetText(void) TEST_TXTRGE_GETTEXT(1, 1, NULL) } @@ -124,7 +124,7 @@ index 051d9fe..6e00b21 100644 START_TEST(richole) { /* Must explicitly LoadLibrary(). The test has no references to functions in -@@ -3582,6 +3616,7 @@ START_TEST(richole) +@@ -4036,6 +4070,7 @@ START_TEST(richole) test_ITextRange_GetFont(); test_ITextRange_GetPara(); test_ITextRange_GetText(); @@ -133,5 +133,5 @@ index 051d9fe..6e00b21 100644 test_IOleWindow_GetWindow(); test_IOleInPlaceSite_GetWindow(); -- -2.4.3 +2.7.4