summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--macosx/tkMacOSXKeyEvent.c6
-rw-r--r--macosx/tkMacOSXKeyboard.c2
-rw-r--r--unix/tkUnixFont.c2
-rw-r--r--unix/tkUnixKey.c2
-rw-r--r--win/tkWinFont.c2
-rw-r--r--win/tkWinKey.c2
-rw-r--r--xlib/X11/Xlib.h6
7 files changed, 10 insertions, 12 deletions
diff --git a/macosx/tkMacOSXKeyEvent.c b/macosx/tkMacOSXKeyEvent.c
index 7ce8fc8..677f77e 100644
--- a/macosx/tkMacOSXKeyEvent.c
+++ b/macosx/tkMacOSXKeyEvent.c
@@ -603,17 +603,15 @@ setupXEvent(XEvent *xEvent, NSWindow *w, unsigned int state)
memset(xEvent, 0, sizeof(XEvent));
xEvent->xany.serial = LastKnownRequestProcessed(Tk_Display(tkwin));
- xEvent->xany.send_event = false;
xEvent->xany.display = Tk_Display(tkwin);
xEvent->xany.window = Tk_WindowId(tkwin);
xEvent->xkey.root = XRootWindow(Tk_Display(tkwin), 0);
- xEvent->xkey.subwindow = None;
xEvent->xkey.time = TkpGetMS();
xEvent->xkey.state = state;
xEvent->xkey.same_screen = true;
- xEvent->xkey.trans_chars[0] = 0;
- xEvent->xkey.nbytes = 0;
+ /* No need to initialize other fields implicitly here,
+ * because of the memset() above. */
}
#pragma mark -
diff --git a/macosx/tkMacOSXKeyboard.c b/macosx/tkMacOSXKeyboard.c
index 78bda9e..b2c78d3 100644
--- a/macosx/tkMacOSXKeyboard.c
+++ b/macosx/tkMacOSXKeyboard.c
@@ -720,7 +720,7 @@ TkpSetKeycodeAndState(
}
if (keysym <= LATIN1_MAX) {
- int done = Tcl_UniCharToUtf(keysym, eventPtr->xkey.trans_chars);
+ int done = TkUniCharToUtf(keysym, eventPtr->xkey.trans_chars);
eventPtr->xkey.trans_chars[done] = 0;
} else {
diff --git a/unix/tkUnixFont.c b/unix/tkUnixFont.c
index 1e80231..96b6195 100644
--- a/unix/tkUnixFont.c
+++ b/unix/tkUnixFont.c
@@ -520,7 +520,7 @@ Ucs2beToUtfProc(
* UCS-2BE. We know this is an LE->BE swap.
*/
- dst += Tcl_UniCharToUtf(htons(*((short *)src)), dst);
+ dst += TkUniCharToUtf(htons(*((short *)src)), dst);
src += 2 /* sizeof(UCS-2) */;
}
diff --git a/unix/tkUnixKey.c b/unix/tkUnixKey.c
index 6d4d0cf..75d5f6c 100644
--- a/unix/tkUnixKey.c
+++ b/unix/tkUnixKey.c
@@ -208,7 +208,7 @@ TkpGetString(
Tcl_DStringValue(&buf)[len] = '\0';
if (len == 1) {
- len = Tcl_UniCharToUtf((unsigned char) Tcl_DStringValue(&buf)[0],
+ len = TkUniCharToUtf((unsigned char) Tcl_DStringValue(&buf)[0],
Tcl_DStringValue(dsPtr));
Tcl_DStringSetLength(dsPtr, len);
} else {
diff --git a/win/tkWinFont.c b/win/tkWinFont.c
index 321ecc4..604a667 100644
--- a/win/tkWinFont.c
+++ b/win/tkWinFont.c
@@ -2225,7 +2225,7 @@ FontMapLoadPage(
end = (row + 1) << FONTMAP_SHIFT;
for (i = row << FONTMAP_SHIFT; i < end; i++) {
if (Tcl_UtfToExternal(NULL, encoding, src,
- Tcl_UniCharToUtf(i, src), TCL_ENCODING_STOPONERROR, NULL,
+ TkUniCharToUtf(i, src), TCL_ENCODING_STOPONERROR, NULL,
buf, sizeof(buf), NULL, NULL, NULL) != TCL_OK) {
continue;
}
diff --git a/win/tkWinKey.c b/win/tkWinKey.c
index 234a158..4130579 100644
--- a/win/tkWinKey.c
+++ b/win/tkWinKey.c
@@ -122,7 +122,7 @@ TkpGetString(
if (((keysym != NoSymbol) && (keysym > 0) && (keysym < 256))
|| (keysym == XK_Return) || (keysym == XK_Tab)) {
- len = Tcl_UniCharToUtf(keysym & 255, buf);
+ len = TkUniCharToUtf(keysym & 255, buf);
Tcl_DStringAppend(dsPtr, buf, len);
}
}
diff --git a/xlib/X11/Xlib.h b/xlib/X11/Xlib.h
index 8d8ec68..e8940d9 100644
--- a/xlib/X11/Xlib.h
+++ b/xlib/X11/Xlib.h
@@ -530,7 +530,7 @@ typedef struct _XDisplay {
#endif
#ifndef _XEVENT_
-#define XMaxTransChars 4
+#define XMaxTransChars 7
/*
* Definitions of specific events.
@@ -549,9 +549,9 @@ typedef struct {
unsigned int state; /* key or button mask */
unsigned int keycode; /* detail */
Bool same_screen; /* same screen flag */
- char trans_chars[XMaxTransChars];
+ char trans_chars[XMaxTransChars];
/* translated characters */
- int nbytes;
+ unsigned char nbytes;
} XKeyEvent;
typedef XKeyEvent XKeyPressedEvent;
typedef XKeyEvent XKeyReleasedEvent;