diff -ur libX11-1.0.3.orig/modules/im/ximcp/imDefFlt.c libX11-1.0.3/modules/im/ximcp/imDefFlt.c --- libX11-1.0.3.orig/modules/im/ximcp/imDefFlt.c 2006-06-23 06:22:22.000000000 +0900 +++ libX11-1.0.3/modules/im/ximcp/imDefFlt.c 2007-12-29 03:37:32.840982892 +0900 @@ -131,9 +131,9 @@ { Xim im = (Xim)ic->core.im; - if (IS_NEED_SYNC_REPLY(ic)) { + if (IS_NEED_SYNC_REPLY(im)) { (void)_XimProcSyncReply(im, ic); - UNMARK_NEED_SYNC_REPLY(ic); + UNMARK_NEED_SYNC_REPLY(im); } return; } @@ -147,9 +147,9 @@ Xim im = (Xim)ic->core.im; #endif - if (IS_FABLICATED(ic)) { + if (IS_FABRICATED(ic->core.im)) { _XimPendingFilter(ic); - UNMARK_FABLICATED(ic); + UNMARK_FABRICATED(ic->core.im); return NOTFILTERD; } @@ -210,9 +210,9 @@ Xim im = (Xim)ic->core.im; #endif - if (IS_FABLICATED(ic)) { + if (IS_FABRICATED(ic->core.im)) { _XimPendingFilter(ic); - UNMARK_FABLICATED(ic); + UNMARK_FABRICATED(ic->core.im); return NOTFILTERD; } diff -ur libX11-1.0.3.orig/modules/im/ximcp/imDefLkup.c libX11-1.0.3/modules/im/ximcp/imDefLkup.c --- libX11-1.0.3.orig/modules/im/ximcp/imDefLkup.c 2006-06-23 06:22:22.000000000 +0900 +++ libX11-1.0.3/modules/im/ximcp/imDefLkup.c 2007-12-29 03:37:32.840982892 +0900 @@ -217,7 +217,7 @@ BITMASK16 mode) { if (mode & XimSYNCHRONUS) /* SYNC Request */ - MARK_NEED_SYNC_REPLY(ic); + MARK_NEED_SYNC_REPLY(ic->core.im); return True; } @@ -354,7 +354,7 @@ ev->xany.serial |= serial << 16; ev->xany.send_event = False; ev->xany.display = d; - MARK_FABLICATED(ic); + MARK_FABRICATED(ic->core.im); return; } @@ -704,7 +704,7 @@ (void)_XimRespSyncReply(ic, flag); - MARK_FABLICATED(ic); + MARK_FABRICATED(im); ev.type = KeyPress; ev.send_event = False; diff -ur libX11-1.0.3.orig/modules/im/ximcp/imExten.c libX11-1.0.3/modules/im/ximcp/imExten.c --- libX11-1.0.3.orig/modules/im/ximcp/imExten.c 2006-06-23 06:22:22.000000000 +0900 +++ libX11-1.0.3/modules/im/ximcp/imExten.c 2007-12-29 03:37:32.840982892 +0900 @@ -162,7 +162,7 @@ XPutBackEvent(im->core.display, &ev); _XimRespSyncReply(ic, buf_s[0]); - MARK_FABLICATED(ic); + MARK_FABRICATED(im); return True; } diff -ur libX11-1.0.3.orig/src/xlibi18n/XimintP.h libX11-1.0.3/src/xlibi18n/XimintP.h --- libX11-1.0.3.orig/src/xlibi18n/XimintP.h 2006-06-23 06:22:23.000000000 +0900 +++ libX11-1.0.3/src/xlibi18n/XimintP.h 2007-12-29 03:37:32.840982892 +0900 @@ -144,6 +144,8 @@ #define DELAYBINDABLE (1L << 3) #define RECONNECTABLE (1L << 4) #endif /* XIM_CONNECTABLE */ +#define FABRICATED (1L << 5) +#define NEED_SYNC_REPLY (1L << 6) /* * macro for the flag of XIMPrivateRec @@ -182,6 +184,20 @@ (((Xim)im)->private.proto.flag &= ~(DELAYBINDABLE|RECONNECTABLE)) #endif /* XIM_CONNECTABLE */ +#define IS_FABRICATED(im) \ + (((Xim)im)->private.proto.flag & FABRICATED) +#define MARK_FABRICATED(im) \ + (((Xim)im)->private.proto.flag |= FABRICATED) +#define UNMARK_FABRICATED(im) \ + (((Xim)im)->private.proto.flag &= ~FABRICATED) + +#define IS_NEED_SYNC_REPLY(im) \ + (((Xim)im)->private.proto.flag & NEED_SYNC_REPLY) +#define MARK_NEED_SYNC_REPLY(im) \ + (((Xim)im)->private.proto.flag |= NEED_SYNC_REPLY) +#define UNMARK_NEED_SYNC_REPLY(im) \ + (((Xim)im)->private.proto.flag &= ~NEED_SYNC_REPLY) + /* * bit mask for the register_filter_event of XIMPrivateRec/XICPrivateRec */ @@ -242,8 +258,6 @@ * bit mask for the flag of XICPrivateRec */ #define IC_CONNECTED (1L) -#define FABLICATED (1L << 1) -#define NEED_SYNC_REPLY (1L << 2) /* * macro for the flag of XICPrivateRec @@ -255,20 +269,6 @@ #define UNMARK_IC_CONNECTED(ic) \ (((Xic)ic)->private.proto.flag &= ~IC_CONNECTED) -#define IS_FABLICATED(ic) \ - (((Xic)ic)->private.proto.flag & FABLICATED) -#define MARK_FABLICATED(ic) \ - (((Xic)ic)->private.proto.flag |= FABLICATED) -#define UNMARK_FABLICATED(ic) \ - (((Xic)ic)->private.proto.flag &= ~FABLICATED) - -#define IS_NEED_SYNC_REPLY(ic) \ - (((Xic)ic)->private.proto.flag & NEED_SYNC_REPLY) -#define MARK_NEED_SYNC_REPLY(ic) \ - (((Xic)ic)->private.proto.flag |= NEED_SYNC_REPLY) -#define UNMARK_NEED_SYNC_REPLY(ic) \ - (((Xic)ic)->private.proto.flag &= ~NEED_SYNC_REPLY) - /* * macro for the filter_event_mask of XICPrivateRec */