Rebase against a64861fb66be722f3a93ab73152c5d477ba3bd3e.

This commit is contained in:
Zebediah Figura
2021-05-06 18:40:21 -05:00
parent 046b1ab22c
commit 50d26744b0
4 changed files with 52 additions and 60 deletions

View File

@@ -1,8 +1,8 @@
From bfbda74851ae4de3b0b185862af566005b477930 Mon Sep 17 00:00:00 2001
From 916a85ecb934034c66c58a66befab5713ea9c28e Mon Sep 17 00:00:00 2001
From: Felix Yan <felixonmars@gmail.com>
Date: Tue, 23 Sep 2014 23:22:17 +0800
Subject: winex11.drv: Update a candidate window's position with over-the-spot
style. (try 2)
Subject: [PATCH] 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
@@ -17,18 +17,18 @@ is set to "over the spot" in the registry key:
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 | 14 ++++++++
dlls/user32/user_private.h | 2 ++
dlls/user32/caret.c | 4 ++
dlls/user32/driver.c | 17 ++++++++
dlls/user32/user_private.h | 2 +
dlls/winex11.drv/winex11.drv.spec | 1 +
dlls/winex11.drv/xim.c | 72 ++++++++++++++++++++++++++++++++++++++-
5 files changed, 92 insertions(+), 1 deletion(-)
dlls/winex11.drv/xim.c | 72 ++++++++++++++++++++++++++++++-
5 files changed, 95 insertions(+), 1 deletion(-)
diff --git a/dlls/user32/caret.c b/dlls/user32/caret.c
index 686dade..d1cde7f 100644
index 2da7e02ca1a..1dd3ff29de4 100644
--- a/dlls/user32/caret.c
+++ b/dlls/user32/caret.c
@@ -30,6 +30,8 @@
@@ -27,6 +27,8 @@
#include "winbase.h"
#include "wingdi.h"
#include "winuser.h"
@@ -37,7 +37,7 @@ index 686dade..d1cde7f 100644
#include "wine/server.h"
#include "wine/debug.h"
@@ -277,6 +279,7 @@ BOOL WINAPI SetCaretPos( INT x, INT y )
@@ -274,6 +276,7 @@ BOOL WINAPI SetCaretPos( INT x, INT y )
r.left = x;
r.top = y;
CARET_DisplayCaret( hwnd, &r );
@@ -45,7 +45,7 @@ index 686dade..d1cde7f 100644
SetSystemTimer( hwnd, TIMERID, Caret.timeout, CARET_Callback );
}
return ret;
@@ -355,6 +358,7 @@ BOOL WINAPI ShowCaret( HWND hwnd )
@@ -352,6 +355,7 @@ BOOL WINAPI ShowCaret( HWND hwnd )
if (ret && (hidden == 1)) /* hidden was 1 so it's now 0 */
{
CARET_DisplayCaret( hwnd, &r );
@@ -54,10 +54,10 @@ index 686dade..d1cde7f 100644
}
return ret;
diff --git a/dlls/user32/driver.c b/dlls/user32/driver.c
index 32acf28..33648b8 100644
index 36438fa44c8..4a52900feb6 100644
--- a/dlls/user32/driver.c
+++ b/dlls/user32/driver.c
@@ -155,6 +155,7 @@ static const USER_DRIVER *load_driver(void)
@@ -149,6 +149,7 @@ static const USER_DRIVER *load_driver(void)
GET_USER_FUNC(WindowPosChanging);
GET_USER_FUNC(WindowPosChanged);
GET_USER_FUNC(SystemParametersInfo);
@@ -65,7 +65,7 @@ index 32acf28..33648b8 100644
GET_USER_FUNC(ThreadDetach);
#undef GET_USER_FUNC
}
@@ -513,6 +514,10 @@ static BOOL CDECL nulldrv_SystemParametersInfo( UINT action, UINT int_param, voi
@@ -405,6 +406,10 @@ static BOOL CDECL nulldrv_SystemParametersInfo( UINT action, UINT int_param, voi
return FALSE;
}
@@ -76,7 +76,7 @@ index 32acf28..33648b8 100644
static void CDECL nulldrv_ThreadDetach( void )
{
}
@@ -578,6 +583,8 @@ static USER_DRIVER null_driver =
@@ -461,10 +466,13 @@ static USER_DRIVER null_driver =
nulldrv_WindowPosChanged,
/* system parameters */
nulldrv_SystemParametersInfo,
@@ -85,7 +85,12 @@ index 32acf28..33648b8 100644
/* thread management */
nulldrv_ThreadDetach
};
@@ -774,6 +781,11 @@ static BOOL CDECL loaderdrv_UpdateLayeredWindow( HWND hwnd, const UPDATELAYEREDW
+/* this line exists so that git won't apply this diff in the wrong place */
/**********************************************************************
* Lazy loading user driver
@@ -612,6 +620,11 @@ static BOOL CDECL loaderdrv_UpdateLayeredWindow( HWND hwnd, const UPDATELAYEREDW
return load_driver()->pUpdateLayeredWindow( hwnd, info, window_rect );
}
@@ -97,7 +102,7 @@ index 32acf28..33648b8 100644
static USER_DRIVER lazy_load_driver =
{
/* keyboard functions */
@@ -835,6 +847,8 @@ static USER_DRIVER lazy_load_driver =
@@ -664,6 +677,10 @@ static USER_DRIVER lazy_load_driver =
nulldrv_WindowPosChanged,
/* system parameters */
nulldrv_SystemParametersInfo,
@@ -106,11 +111,13 @@ index 32acf28..33648b8 100644
/* thread management */
nulldrv_ThreadDetach
};
+
+/* this line exists so that git won't apply this diff in the wrong place */
diff --git a/dlls/user32/user_private.h b/dlls/user32/user_private.h
index 68aa699..cba4aa9 100644
index 1c7ac3355bc..f9d01fbb406 100644
--- a/dlls/user32/user_private.h
+++ b/dlls/user32/user_private.h
@@ -117,6 +117,8 @@ typedef struct tagUSER_DRIVER {
@@ -111,6 +111,8 @@ typedef struct tagUSER_DRIVER {
void (CDECL *pWindowPosChanged)(HWND,HWND,UINT,const RECT *,const RECT *,const RECT *,const RECT *,struct window_surface*);
/* system parameters */
BOOL (CDECL *pSystemParametersInfo)(UINT,UINT,void*,UINT);
@@ -120,10 +127,10 @@ index 68aa699..cba4aa9 100644
void (CDECL *pThreadDetach)(void);
} USER_DRIVER;
diff --git a/dlls/winex11.drv/winex11.drv.spec b/dlls/winex11.drv/winex11.drv.spec
index ceb0f56..5552bdb 100644
index eb5f7cecc6c..108bf98f357 100644
--- a/dlls/winex11.drv/winex11.drv.spec
+++ b/dlls/winex11.drv/winex11.drv.spec
@@ -53,6 +53,7 @@
@@ -43,6 +43,7 @@
@ cdecl WindowPosChanging(long long long ptr ptr ptr ptr) X11DRV_WindowPosChanging
@ cdecl WindowPosChanged(long long long ptr ptr ptr ptr ptr) X11DRV_WindowPosChanged
@ cdecl SystemParametersInfo(long long ptr long) X11DRV_SystemParametersInfo
@@ -132,10 +139,10 @@ index ceb0f56..5552bdb 100644
# WinTab32
diff --git a/dlls/winex11.drv/xim.c b/dlls/winex11.drv/xim.c
index e51169d..069115d 100644
index 44fe62e9006..a4567ce26a2 100644
--- a/dlls/winex11.drv/xim.c
+++ b/dlls/winex11.drv/xim.c
@@ -31,6 +31,7 @@
@@ -32,6 +32,7 @@
#include "x11drv.h"
#include "imm.h"
#include "wine/debug.h"
@@ -143,7 +150,7 @@ index e51169d..069115d 100644
WINE_DEFAULT_DEBUG_CHANNEL(xim);
@@ -471,6 +472,48 @@ static BOOL X11DRV_DestroyIC(XIC xic, XPointer p, XPointer data)
@@ -458,6 +459,48 @@ static BOOL X11DRV_DestroyIC(XIC xic, XPointer p, XPointer data)
return TRUE;
}
@@ -192,7 +199,7 @@ index e51169d..069115d 100644
XIC X11DRV_CreateIC(XIM xim, struct x11drv_win_data *data)
{
@@ -498,7 +541,7 @@ XIC X11DRV_CreateIC(XIM xim, struct x11drv_win_data *data)
@@ -485,7 +528,7 @@ XIC X11DRV_CreateIC(XIM xim, struct x11drv_win_data *data)
XNDestroyCallback, &destroy,
NULL);
data->xic = xic;
@@ -201,7 +208,7 @@ index e51169d..069115d 100644
}
/* create callbacks */
@@ -596,5 +639,32 @@ XIC X11DRV_CreateIC(XIM xim, struct x11drv_win_data *data)
@@ -583,5 +626,32 @@ XIC X11DRV_CreateIC(XIM xim, struct x11drv_win_data *data)
if (status != NULL)
XFree(status);
@@ -235,5 +242,5 @@ index e51169d..069115d 100644
return xic;
}
--
2.9.0
2.30.2