In case of error, XSetICValues() must return the first argument
that failed to be set.

But in some error paths, it returns False, which is converted to NULL,
so the function returns OK in case of error.

Signed-off-by: Yann Droneaud <y...@droneaud.fr>

---
 modules/im/ximcp/imRm.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/modules/im/ximcp/imRm.c b/modules/im/ximcp/imRm.c
index 53b2458..519d174 100644
--- a/modules/im/ximcp/imRm.c
+++ b/modules/im/ximcp/imRm.c
@@ -2885,13 +2885,13 @@ _XimSetICValueData(
 
            if(mode & XIM_PREEDIT_ATTR) {
                if (!_XimEncodeLocalPreeditValue(ic, res, (XPointer)p))
-                   return False;
+                   return p->name;
            } else if(mode & XIM_STATUS_ATTR) {
                if (!_XimEncodeLocalStatusValue(ic, res, (XPointer)p))
-                   return False;
+                   return p->name;
            } else {
                if (!_XimEncodeLocalTopValue(ic, res, (XPointer)p, flag))
-                   return False;
+                   return p->name;
            }
            if(_XimEncodeLocalICAttr(ic, res, top, p, mode) == False) {
                return p->name;
-- 
1.7.6.4

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to