Rebase against b495ff5cc8088af66d6d4f186f82231043e45a95.

This commit is contained in:
Alistair Leslie-Hughes
2021-12-09 09:43:18 +11:00
parent a2fcffc18e
commit 2653c32b45
4 changed files with 44 additions and 41 deletions

View File

@@ -1,4 +1,4 @@
From 29ecc8286ee52997384ebde43da5e6a1f43b3bdc Mon Sep 17 00:00:00 2001
From 496ea7a4273c2f33bce0035063c21a28027b1523 Mon Sep 17 00:00:00 2001
From: Felix Yan <felixonmars@gmail.com>
Date: Tue, 23 Sep 2014 23:22:17 +0800
Subject: [PATCH] winex11.drv: Update a candidate window's position with
@@ -19,12 +19,12 @@ received a lot of help from Sebastian Lackner.
---
dlls/user32/caret.c | 4 +++
dlls/user32/driver.c | 7 ++++
dlls/win32u/driver.c | 5 +++
dlls/win32u/driver.c | 7 ++++
dlls/winex11.drv/init.c | 1 +
dlls/winex11.drv/x11drv.h | 1 +
dlls/winex11.drv/xim.c | 72 ++++++++++++++++++++++++++++++++++++++-
include/wine/gdi_driver.h | 2 ++
7 files changed, 91 insertions(+), 1 deletion(-)
include/wine/gdi_driver.h | 5 +++
7 files changed, 96 insertions(+), 1 deletion(-)
diff --git a/dlls/user32/caret.c b/dlls/user32/caret.c
index 2da7e02ca1a..1dd3ff29de4 100644
@@ -56,7 +56,7 @@ index 2da7e02ca1a..1dd3ff29de4 100644
}
return ret;
diff --git a/dlls/user32/driver.c b/dlls/user32/driver.c
index 10b0132734b..eef699d921a 100644
index 73f4ee67257..ffcf8d264a1 100644
--- a/dlls/user32/driver.c
+++ b/dlls/user32/driver.c
@@ -364,6 +364,11 @@ static BOOL CDECL loaderdrv_UpdateLayeredWindow( HWND hwnd, const UPDATELAYEREDW
@@ -71,9 +71,9 @@ index 10b0132734b..eef699d921a 100644
static struct user_driver_funcs lazy_load_driver =
{
{ NULL },
@@ -414,6 +419,8 @@ static struct user_driver_funcs lazy_load_driver =
nulldrv_WindowPosChanged,
/* system parameters */
@@ -416,6 +421,8 @@ static struct user_driver_funcs lazy_load_driver =
NULL,
/* vulkan support */
NULL,
+ /* candidate pos functions */
+ loaderdrv_UpdateCandidatePos,
@@ -81,36 +81,43 @@ index 10b0132734b..eef699d921a 100644
nulldrv_ThreadDetach
};
diff --git a/dlls/win32u/driver.c b/dlls/win32u/driver.c
index 5fa1a2ca236..b401f71776c 100644
index 405dbf38e11..f52a2240e59 100644
--- a/dlls/win32u/driver.c
+++ b/dlls/win32u/driver.c
@@ -936,6 +936,10 @@ static BOOL CDECL nulldrv_SystemParametersInfo( UINT action, UINT int_param, voi
@@ -930,11 +930,17 @@ static BOOL CDECL nulldrv_SystemParametersInfo( UINT action, UINT int_param, voi
return FALSE;
}
+
static const struct vulkan_funcs * CDECL nulldrv_wine_get_vulkan_driver( UINT version )
{
return NULL;
}
+static void CDECL nulldrv_UpdateCandidatePos( HWND hwnd, const RECT *caret_rect )
+{
+
+}
+
static void CDECL nulldrv_ThreadDetach( void )
{
}
@@ -1092,6 +1096,7 @@ void CDECL __wine_set_display_driver( struct user_driver_funcs *driver, UINT ver
SET_USER_FUNC(WindowPosChanging);
@@ -1098,6 +1104,7 @@ void CDECL __wine_set_display_driver( struct user_driver_funcs *driver, UINT ver
SET_USER_FUNC(WindowPosChanged);
SET_USER_FUNC(SystemParametersInfo);
SET_USER_FUNC(wine_get_vulkan_driver);
+ SET_USER_FUNC(UpdateCandidatePos);
SET_USER_FUNC(ThreadDetach);
#undef SET_USER_FUNC
diff --git a/dlls/winex11.drv/init.c b/dlls/winex11.drv/init.c
index 1a86836b9c1..d9bdd2b6e3f 100644
index 1f0549e4d39..7ed3ef7183c 100644
--- a/dlls/winex11.drv/init.c
+++ b/dlls/winex11.drv/init.c
@@ -429,6 +429,7 @@ static const struct user_driver_funcs x11drv_funcs =
.pWindowPosChanging = X11DRV_WindowPosChanging,
@@ -422,6 +422,7 @@ static const struct user_driver_funcs x11drv_funcs =
.pWindowPosChanged = X11DRV_WindowPosChanged,
.pSystemParametersInfo = X11DRV_SystemParametersInfo,
.pwine_get_vulkan_driver = X11DRV_wine_get_vulkan_driver,
+ .pUpdateCandidatePos = X11DRV_UpdateCandidatePos,
.pThreadDetach = X11DRV_ThreadDetach,
};
@@ -231,15 +238,20 @@ index 3994c2106cc..ec943dcd623 100644
return xic;
}
diff --git a/include/wine/gdi_driver.h b/include/wine/gdi_driver.h
index f76170f5a16..dd58e625801 100644
index 567a6c21608..ff92d097f7d 100644
--- a/include/wine/gdi_driver.h
+++ b/include/wine/gdi_driver.h
@@ -320,6 +320,8 @@ struct user_driver_funcs
@@ -319,8 +319,13 @@ struct user_driver_funcs
const RECT *,struct window_surface*);
/* system parameters */
BOOL (CDECL *pSystemParametersInfo)(UINT,UINT,void*,UINT);
+
/* vulkan support */
const struct vulkan_funcs * (CDECL *pwine_get_vulkan_driver)(UINT);
+
+ /* IME functions */
+ void (CDECL *pUpdateCandidatePos)(HWND, const RECT *);
+
/* thread management */
void (CDECL *pThreadDetach)(void);
};