You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
Rebase against a64861fb66be722f3a93ab73152c5d477ba3bd3e.
This commit is contained in:
@@ -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
|
||||
|
||||
|
Reference in New Issue
Block a user