diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 73a55b4e..ecd51dbd 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "30cdd1fb8cea410cb9e363b16278528669e2c19a" + echo "d3cb5c24a5ebbc7dcfb181a56f0f55cf3d1a1c30" } # Show version information diff --git a/patches/server-Desktop_Refcount/0001-server-Introduce-a-new-alloc_handle-object-callback..patch b/patches/server-Desktop_Refcount/0001-server-Introduce-a-new-alloc_handle-object-callback..patch index 24421797..5f71a756 100644 --- a/patches/server-Desktop_Refcount/0001-server-Introduce-a-new-alloc_handle-object-callback..patch +++ b/patches/server-Desktop_Refcount/0001-server-Introduce-a-new-alloc_handle-object-callback..patch @@ -1,4 +1,4 @@ -From b46fe984533047235c49722a6e0d48960a487cdb Mon Sep 17 00:00:00 2001 +From 20f08d1d7a69425048bd824722097e5c04e1d1de Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Fri, 4 Dec 2015 10:36:47 +0100 Subject: server: Introduce a new alloc_handle object callback. (v2) @@ -86,16 +86,16 @@ index 7c0ca99..753bf66 100644 dir_destroy /* destroy */ }; diff --git a/server/clipboard.c b/server/clipboard.c -index 7b92706..fa3aa51 100644 +index 8396ec3..73028e4 100644 --- a/server/clipboard.c +++ b/server/clipboard.c -@@ -68,6 +68,7 @@ static const struct object_ops clipboard_ops = +@@ -72,6 +72,7 @@ static const struct object_ops clipboard_ops = no_link_name, /* link_name */ NULL, /* unlink_name */ no_open_file, /* open_file */ + no_alloc_handle, /* alloc_handle */ no_close_handle, /* close_handle */ - no_destroy /* destroy */ + clipboard_destroy /* destroy */ }; diff --git a/server/completion.c b/server/completion.c index 8b8983a..72dbc5b 100644 @@ -110,7 +110,7 @@ index 8b8983a..72dbc5b 100644 completion_destroy /* destroy */ }; diff --git a/server/console.c b/server/console.c -index 4d275f0..5575c9d 100644 +index 32d3137..4fcb1e6 100644 --- a/server/console.c +++ b/server/console.c @@ -87,6 +87,7 @@ static const struct object_ops console_input_ops = @@ -129,7 +129,7 @@ index 4d275f0..5575c9d 100644 no_close_handle, /* close_handle */ console_input_events_destroy /* destroy */ }; -@@ -175,6 +177,7 @@ static const struct object_ops screen_buffer_ops = +@@ -177,6 +179,7 @@ static const struct object_ops screen_buffer_ops = no_link_name, /* link_name */ NULL, /* unlink_name */ no_open_file, /* open_file */ @@ -158,7 +158,7 @@ index 2eb794a..a2c07ba 100644 debug_ctx_destroy /* destroy */ }; diff --git a/server/device.c b/server/device.c -index 22ade88..b949548 100644 +index e4f55c7..071b71f 100644 --- a/server/device.c +++ b/server/device.c @@ -81,6 +81,7 @@ static const struct object_ops irp_call_ops = @@ -194,7 +194,7 @@ index 22ade88..b949548 100644 device_file_destroy /* destroy */ }; diff --git a/server/directory.c b/server/directory.c -index 96555bb..26600f8 100644 +index 7ffaedc..d903ff2 100644 --- a/server/directory.c +++ b/server/directory.c @@ -67,6 +67,7 @@ static const struct object_ops object_type_ops = @@ -339,7 +339,7 @@ index 3a0e4b4..dc653b8 100644 hook_table_destroy /* destroy */ }; diff --git a/server/mailslot.c b/server/mailslot.c -index ea28825..a745a54 100644 +index 13e6703..021ef99 100644 --- a/server/mailslot.c +++ b/server/mailslot.c @@ -89,6 +89,7 @@ static const struct object_ops mailslot_ops = @@ -367,7 +367,7 @@ index ea28825..a745a54 100644 mailslot_device_destroy /* destroy */ }; diff --git a/server/mapping.c b/server/mapping.c -index fe30450..a612766 100644 +index f82907b..7c7759b 100644 --- a/server/mapping.c +++ b/server/mapping.c @@ -94,6 +94,7 @@ static const struct object_ops mapping_ops = @@ -379,7 +379,7 @@ index fe30450..a612766 100644 mapping_destroy /* destroy */ }; diff --git a/server/mutex.c b/server/mutex.c -index 3693095..e96bfd0 100644 +index d1887e4..a2a0a24 100644 --- a/server/mutex.c +++ b/server/mutex.c @@ -71,6 +71,7 @@ static const struct object_ops mutex_ops = @@ -391,7 +391,7 @@ index 3693095..e96bfd0 100644 mutex_destroy /* destroy */ }; diff --git a/server/named_pipe.c b/server/named_pipe.c -index 0661c12..eb0696e 100644 +index cfee4d5..cffa254 100644 --- a/server/named_pipe.c +++ b/server/named_pipe.c @@ -135,6 +135,7 @@ static const struct object_ops named_pipe_ops = @@ -442,7 +442,7 @@ index ad22ec1..f5d7d9f 100644 { return 1; /* ok to close */ diff --git a/server/object.h b/server/object.h -index 687f730..f82fb67 100644 +index b5c50e1..72ad852 100644 --- a/server/object.h +++ b/server/object.h @@ -89,8 +89,10 @@ struct object_ops @@ -606,7 +606,7 @@ index dc10d2a..a11964f 100644 ifchange_destroy /* destroy */ }; diff --git a/server/symlink.c b/server/symlink.c -index e176267..034ecdd 100644 +index 9199bc5..ecc0e43 100644 --- a/server/symlink.c +++ b/server/symlink.c @@ -70,6 +70,7 @@ static const struct object_ops symlink_ops = @@ -682,5 +682,5 @@ index a0be058..5f96be8 100644 desktop_destroy /* destroy */ }; -- -2.8.0 +2.9.0 diff --git a/patches/winex11-CandidateWindowPos/0001-winex11.drv-Update-a-candidate-window-s-position-wit.patch b/patches/winex11-CandidateWindowPos/0001-winex11.drv-Update-a-candidate-window-s-position-wit.patch index 7b32229a..26408765 100644 --- a/patches/winex11-CandidateWindowPos/0001-winex11.drv-Update-a-candidate-window-s-position-wit.patch +++ b/patches/winex11-CandidateWindowPos/0001-winex11.drv-Update-a-candidate-window-s-position-wit.patch @@ -1,8 +1,8 @@ -From ed940af97f6488f87739b4d332101e69ed624412 Mon Sep 17 00:00:00 2001 +From b8426b424f9ed456f29189459f27ab51b1a9bd7c Mon Sep 17 00:00:00 2001 From: Felix Yan Date: Tue, 23 Sep 2014 23:22:17 +0800 -Subject: [PATCH] winex11.drv: Update a candidate window's position with - over-the-spot style. (try 2) +Subject: winex11.drv: Update a candidate window's position with over-the-spot + style. (try 2) In the current implementation, the candidate window position of a input method is fixed because XNSpotLocation isn't updated after an input @@ -18,14 +18,14 @@ This patch was based on the original work by Muneyuki Noguchi, and received a lot of help from Sebastian Lackner. --- dlls/user32/caret.c | 4 +++ - dlls/user32/driver.c | 19 +++++++++-- + dlls/user32/driver.c | 14 ++++++++ dlls/user32/user_private.h | 2 ++ dlls/winex11.drv/winex11.drv.spec | 1 + dlls/winex11.drv/xim.c | 72 ++++++++++++++++++++++++++++++++++++++- - 5 files changed, 95 insertions(+), 3 deletions(-) + 5 files changed, 92 insertions(+), 1 deletion(-) diff --git a/dlls/user32/caret.c b/dlls/user32/caret.c -index 53bb5b4..fff9e3e 100644 +index 686dade..d1cde7f 100644 --- a/dlls/user32/caret.c +++ b/dlls/user32/caret.c @@ -30,6 +30,8 @@ @@ -54,18 +54,18 @@ index 53bb5b4..fff9e3e 100644 } return ret; diff --git a/dlls/user32/driver.c b/dlls/user32/driver.c -index e0bc38c..0e8b007 100644 +index 32acf28..33648b8 100644 --- a/dlls/user32/driver.c +++ b/dlls/user32/driver.c -@@ -154,6 +154,7 @@ static const USER_DRIVER *load_driver(void) +@@ -155,6 +155,7 @@ static const USER_DRIVER *load_driver(void) GET_USER_FUNC(WindowPosChanging); GET_USER_FUNC(WindowPosChanged); GET_USER_FUNC(SystemParametersInfo); + GET_USER_FUNC(UpdateCandidatePos); + GET_USER_FUNC(ThreadDetach); #undef GET_USER_FUNC } - -@@ -512,6 +513,10 @@ static BOOL CDECL nulldrv_SystemParametersInfo( UINT action, UINT int_param, voi +@@ -513,6 +514,10 @@ static BOOL CDECL nulldrv_SystemParametersInfo( UINT action, UINT int_param, voi return FALSE; } @@ -73,21 +73,19 @@ index e0bc38c..0e8b007 100644 +{ +} + - static USER_DRIVER null_driver = + static void CDECL nulldrv_ThreadDetach( void ) { - /* keyboard functions */ -@@ -572,7 +577,9 @@ static USER_DRIVER null_driver = - nulldrv_WindowPosChanging, + } +@@ -578,6 +583,8 @@ static USER_DRIVER null_driver = nulldrv_WindowPosChanged, /* system parameters */ -- nulldrv_SystemParametersInfo -+ nulldrv_SystemParametersInfo, + nulldrv_SystemParametersInfo, + /* candidate pos functions */ -+ nulldrv_UpdateCandidatePos ++ nulldrv_UpdateCandidatePos, + /* thread management */ + nulldrv_ThreadDetach }; - - -@@ -767,6 +774,12 @@ static BOOL CDECL loaderdrv_UpdateLayeredWindow( HWND hwnd, const UPDATELAYEREDW +@@ -774,6 +781,11 @@ static BOOL CDECL loaderdrv_UpdateLayeredWindow( HWND hwnd, const UPDATELAYEREDW return load_driver()->pUpdateLayeredWindow( hwnd, info, window_rect ); } @@ -95,22 +93,21 @@ index e0bc38c..0e8b007 100644 +{ + load_driver()->pUpdateCandidatePos( hwnd, caret_rect ); +} -+ + static USER_DRIVER lazy_load_driver = { /* keyboard functions */ -@@ -827,5 +840,7 @@ static USER_DRIVER lazy_load_driver = - nulldrv_WindowPosChanging, +@@ -835,6 +847,8 @@ static USER_DRIVER lazy_load_driver = nulldrv_WindowPosChanged, /* system parameters */ -- nulldrv_SystemParametersInfo -+ nulldrv_SystemParametersInfo, + nulldrv_SystemParametersInfo, + /* candidate pos functions */ -+ loaderdrv_UpdateCandidatePos ++ loaderdrv_UpdateCandidatePos, + /* thread management */ + nulldrv_ThreadDetach }; diff --git a/dlls/user32/user_private.h b/dlls/user32/user_private.h -index adf3f7d..6202818 100644 +index 68aa699..cba4aa9 100644 --- a/dlls/user32/user_private.h +++ b/dlls/user32/user_private.h @@ -117,6 +117,8 @@ typedef struct tagUSER_DRIVER { @@ -119,11 +116,11 @@ index adf3f7d..6202818 100644 BOOL (CDECL *pSystemParametersInfo)(UINT,UINT,void*,UINT); + /* candidate pos functions */ + void (CDECL *pUpdateCandidatePos)(HWND,const RECT *); + /* thread management */ + void (CDECL *pThreadDetach)(void); } USER_DRIVER; - - extern const USER_DRIVER *USER_Driver DECLSPEC_HIDDEN; diff --git a/dlls/winex11.drv/winex11.drv.spec b/dlls/winex11.drv/winex11.drv.spec -index b6e5c05..2a0d737 100644 +index 7cdce52..167ecb2 100644 --- a/dlls/winex11.drv/winex11.drv.spec +++ b/dlls/winex11.drv/winex11.drv.spec @@ -53,6 +53,7 @@ @@ -135,7 +132,7 @@ index b6e5c05..2a0d737 100644 # WinTab32 @ cdecl AttachEventQueueToTablet(long) X11DRV_AttachEventQueueToTablet diff --git a/dlls/winex11.drv/xim.c b/dlls/winex11.drv/xim.c -index e0548b8..187323f 100644 +index e51169d..069115d 100644 --- a/dlls/winex11.drv/xim.c +++ b/dlls/winex11.drv/xim.c @@ -31,6 +31,7 @@ @@ -238,5 +235,5 @@ index e0548b8..187323f 100644 return xic; } -- -2.1.0 +2.9.0