Commit ce482d4f authored by ISHIKAWA,chiaki's avatar ISHIKAWA,chiaki Committed by Ulrich Sibiller

Fix bogus timestamp generated by XIM

Fix bogus timestamp generted by XIM due to uninitialized data field. Also set appropriate serial, too. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=39367Signed-off-by: 's avatarChiaki ISHIKAWA <ishikawa@yk.rim.or.jp> Signed-off-by: 's avatarAlan Coopersmith <alan.coopersmith@oracle.com> Backported-to-NX-by: 's avatarUlrich Sibiller <uli42@gmx.de>
parent ed53aca1
......@@ -269,6 +269,8 @@ _XimForwardEventCore(
int ret_code;
INT16 len;
bzero(buf32, sizeof(buf32)); /* valgrind noticed uninitialized memory use! */
if (!(len = _XimSetEventToWire(ev, (xEvent *)&buf_s[4])))
return False; /* X event */
......@@ -708,6 +710,8 @@ _XimCommitRecv(
& (KEYPRESS_MASK | KEYRELEASE_MASK))
MARK_FABRICATED(im);
bzero(&ev, sizeof(ev)); /* uninitialized : found when running kterm under valgrind */
ev.type = KeyPress;
ev.send_event = False;
ev.display = im->core.display;
......@@ -715,6 +719,15 @@ _XimCommitRecv(
ev.keycode = 0;
ev.state = 0;
ev.time = 0L;
ev.serial = LastKnownRequestProcessed(im->core.display);
/* FIXME :
I wish there were COMMENTs (!) about the data passed around.
*/
#if 0
fprintf(stderr,"%s,%d: putback k press FIXED ev.time=0 ev.serial=%lu\n", __FILE__, __LINE__, ev.serial);
#endif
XPutBackEvent(im->core.display, (XEvent *)&ev);
return True;
......
......@@ -222,12 +222,20 @@ _XimTransInternalConnection(
if (spec->is_putback)
return;
bzero(&ev, sizeof(ev)); /* FIXME: other fields may be accessed, too. */
kev = (XKeyEvent *)&ev;
kev->type = KeyPress;
kev->send_event = False;
kev->display = im->core.display;
kev->window = spec->window;
kev->keycode = 0;
kev->time = 0L;
kev->serial = LastKnownRequestProcessed(im->core.display);
#if 0
fprintf(stderr,"%s,%d: putback FIXED kev->time=0 kev->serial=%lu\n", __FILE__, __LINE__, kev->serial);
#endif
XPutBackEvent(im->core.display, &ev);
XFlush(im->core.display);
spec->is_putback = True;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment