mirror of
https://github.com/glfw/glfw.git
synced 2025-06-15 20:22:15 +00:00
X11: Revive inputContextDestroyCallback()
XCreateIC() has vararg so that both XNStatusAttributes and XNDestroyCallback are acceptable.
This commit is contained in:
parent
2130afeb02
commit
8a02ec2702
@ -535,13 +535,12 @@ static void enableCursor(_GLFWwindow* window)
|
|||||||
updateCursorImage(window);
|
updateCursorImage(window);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO This callback is replaced by _createXIMPreeditCallbacks. Is there a possibility that this clearing process is necessary?
|
|
||||||
// Clear its handle when the input context has been destroyed
|
// Clear its handle when the input context has been destroyed
|
||||||
// static void inputContextDestroyCallback(XIC ic, XPointer clientData, XPointer callData)
|
static void inputContextDestroyCallback(XIC ic, XPointer clientData, XPointer callData)
|
||||||
// {
|
{
|
||||||
// _GLFWwindow* window = (_GLFWwindow*) clientData;
|
_GLFWwindow* window = (_GLFWwindow*) clientData;
|
||||||
// window->x11.ic = NULL;
|
window->x11.ic = NULL;
|
||||||
// }
|
}
|
||||||
|
|
||||||
// Update cursor position to decide candidate window
|
// Update cursor position to decide candidate window
|
||||||
static void _ximChangeCursorPosition(XIC xic, _GLFWwindow* window)
|
static void _ximChangeCursorPosition(XIC xic, _GLFWwindow* window)
|
||||||
@ -2045,6 +2044,9 @@ void _glfwPushSelectionToManagerX11(void)
|
|||||||
|
|
||||||
void _glfwCreateInputContextX11(_GLFWwindow* window)
|
void _glfwCreateInputContextX11(_GLFWwindow* window)
|
||||||
{
|
{
|
||||||
|
XIMCallback callback;
|
||||||
|
callback.callback = (XIMProc) inputContextDestroyCallback;
|
||||||
|
callback.client_data = (XPointer) window;
|
||||||
XVaNestedList preeditList = _createXIMPreeditCallbacks(window);
|
XVaNestedList preeditList = _createXIMPreeditCallbacks(window);
|
||||||
XVaNestedList statusList = _createXIMStatusCallbacks(window);
|
XVaNestedList statusList = _createXIMStatusCallbacks(window);
|
||||||
|
|
||||||
@ -2059,6 +2061,8 @@ void _glfwCreateInputContextX11(_GLFWwindow* window)
|
|||||||
preeditList,
|
preeditList,
|
||||||
XNStatusAttributes,
|
XNStatusAttributes,
|
||||||
statusList,
|
statusList,
|
||||||
|
XNDestroyCallback,
|
||||||
|
&callback,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
XFree(preeditList);
|
XFree(preeditList);
|
||||||
|
Loading…
Reference in New Issue
Block a user