--- a/open-src/lib/libX11/solaris-kbd.patch Thu May 24 21:07:25 2012 -0700
+++ b/open-src/lib/libX11/solaris-kbd.patch Sat May 26 12:04:58 2012 +0900
@@ -23,7 +23,7 @@
diff --git a/src/KeyBind.c b/src/KeyBind.c
-index 221cedd..e06f954 100644
+index 221cedd..732c0cf 100644
--- a/src/KeyBind.c
+++ b/src/KeyBind.c
@@ -45,6 +45,7 @@ in this Software without prior written authorization from The Open Group.
@@ -280,7 +280,7 @@
}
static void
-@@ -1076,3 +1214,287 @@ ComputeMaskFromKeytrans(
+@@ -1076,3 +1214,290 @@ ComputeMaskFromKeytrans(
}
p->state &= AllMods;
}
@@ -523,6 +523,9 @@
+ *return_val = 1;
+ }
+ else {
++ if (compose_state == ACCEPTED2) {
++ buffer[0] = '\0';
++ }
+ *return_val = 0;
+ }
+
@@ -568,6 +571,43 @@
+ }
+}
+#endif /* SUNSOFT_KBD */
+diff --git a/src/imConv.c b/src/imConv.c
+index e212049..35e58a3 100644
+--- a/src/imConv.c
++++ b/src/imConv.c
+@@ -214,7 +214,9 @@ _XimLookupMBText(
+ args, 1 ) != 0) {
+ count = 0;
+ } else {
+- count = nbytes - to_len;
++ if(count != 0){
++ count = nbytes - to_len;
++ }
+ }
+ }
+ }
+@@ -284,7 +286,9 @@ _XimLookupWCText(
+ args, 1 ) != 0) {
+ count = 0;
+ } else {
+- count = nbytes - to_len;
++ if(count != 0){
++ count = nbytes - to_len;
++ }
+ }
+ }
+ } else
+@@ -345,7 +349,9 @@ _XimLookupUTF8Text(
+ NULL, 0) != 0) {
+ count = 0;
+ } else {
+- count = nbytes - to_len;
++ if(count != 0){
++ count = nbytes - to_len;
++ }
+ }
+ }
+ /* FIXME:
diff --git a/src/xkb/XKBBind.c b/src/xkb/XKBBind.c
index 1c16adc..3370896 100644
--- a/src/xkb/XKBBind.c