|
cchance |
cd0a25b |
--- libX11-1.0.3/modules/im/ximcp/imDefLkup.c.bug-201284 2006-10-30 23:58:41.000000000 -0500
|
|
cchance |
cd0a25b |
+++ libX11-1.0.3/modules/im/ximcp/imDefLkup.c 2006-10-30 23:58:41.000000000 -0500
|
|
cchance |
cd0a25b |
@@ -216,8 +216,13 @@
|
|
cchance |
cd0a25b |
Xic ic,
|
|
cchance |
cd0a25b |
BITMASK16 mode)
|
|
cchance |
cd0a25b |
{
|
|
cchance |
cd0a25b |
- if (mode & XimSYNCHRONUS) /* SYNC Request */
|
|
cchance |
cd0a25b |
- MARK_NEED_SYNC_REPLY(ic);
|
|
cchance |
cd0a25b |
+ if (mode & XimSYNCHRONUS) /* SYNC Request */ {
|
|
cchance |
cd0a25b |
+ if (IS_FOCUSED(ic))
|
|
cchance |
cd0a25b |
+ MARK_NEED_SYNC_REPLY(ic);
|
|
cchance |
cd0a25b |
+ else
|
|
cchance |
cd0a25b |
+ _XimProcSyncReply(ic->core.im, ic);
|
|
cchance |
cd0a25b |
+ }
|
|
cchance |
cd0a25b |
+
|
|
cchance |
cd0a25b |
return True;
|
|
cchance |
cd0a25b |
}
|
|
cchance |
cd0a25b |
|
|
cchance |
cd0a25b |
--- libX11-1.0.3/modules/im/ximcp/imDefIc.c.bug-201284 2006-06-22 17:22:22.000000000 -0400
|
|
cchance |
cd0a25b |
+++ libX11-1.0.3/modules/im/ximcp/imDefIc.c 2006-10-30 23:58:41.000000000 -0500
|
|
cchance |
cd0a25b |
@@ -949,6 +949,8 @@
|
|
cchance |
cd0a25b |
(void)_XimWrite(im, len, (XPointer)buf);
|
|
cchance |
cd0a25b |
_XimFlush(im);
|
|
cchance |
cd0a25b |
|
|
cchance |
cd0a25b |
+ MARK_FOCUSED(ic);
|
|
cchance |
cd0a25b |
+
|
|
cchance |
cd0a25b |
_XimRegisterFilter(ic);
|
|
cchance |
cd0a25b |
return;
|
|
cchance |
cd0a25b |
}
|
|
cchance |
cd0a25b |
@@ -994,6 +996,8 @@
|
|
cchance |
cd0a25b |
(void)_XimWrite(im, len, (XPointer)buf);
|
|
cchance |
cd0a25b |
_XimFlush(im);
|
|
cchance |
cd0a25b |
|
|
cchance |
cd0a25b |
+ UNMARK_FOCUSED(ic);
|
|
cchance |
cd0a25b |
+
|
|
cchance |
cd0a25b |
_XimUnregisterFilter(ic);
|
|
cchance |
cd0a25b |
return;
|
|
cchance |
cd0a25b |
}
|
|
cchance |
cd0a25b |
--- libX11-1.0.3/src/xlibi18n/XimintP.h.bug-201284 2006-06-22 17:22:23.000000000 -0400
|
|
cchance |
cd0a25b |
+++ libX11-1.0.3/src/xlibi18n/XimintP.h 2006-10-31 00:01:30.000000000 -0500
|
|
cchance |
cd0a25b |
@@ -244,6 +244,7 @@
|
|
cchance |
cd0a25b |
#define IC_CONNECTED (1L)
|
|
cchance |
cd0a25b |
#define FABLICATED (1L << 1)
|
|
cchance |
cd0a25b |
#define NEED_SYNC_REPLY (1L << 2)
|
|
cchance |
cd0a25b |
+#define FOCUSED (1L << 3)
|
|
cchance |
cd0a25b |
|
|
cchance |
cd0a25b |
/*
|
|
cchance |
cd0a25b |
* macro for the flag of XICPrivateRec
|
|
cchance |
cd0a25b |
@@ -269,6 +270,13 @@
|
|
cchance |
cd0a25b |
#define UNMARK_NEED_SYNC_REPLY(ic) \
|
|
cchance |
cd0a25b |
(((Xic)ic)->private.proto.flag &= ~NEED_SYNC_REPLY)
|
|
cchance |
cd0a25b |
|
|
cchance |
cd0a25b |
+#define IS_FOCUSED(ic) \
|
|
cchance |
cd0a25b |
+ (((Xic)ic)->private.proto.flag & FOCUSED)
|
|
cchance |
cd0a25b |
+#define MARK_FOCUSED(ic) \
|
|
cchance |
cd0a25b |
+ (((Xic)ic)->private.proto.flag |= FOCUSED)
|
|
cchance |
cd0a25b |
+#define UNMARK_FOCUSED(ic) \
|
|
cchance |
cd0a25b |
+ (((Xic)ic)->private.proto.flag &= ~FOCUSED)
|
|
cchance |
cd0a25b |
+
|
|
cchance |
cd0a25b |
/*
|
|
cchance |
cd0a25b |
* macro for the filter_event_mask of XICPrivateRec
|
|
cchance |
cd0a25b |
*/
|