diff options
author | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2023-04-27 14:10:57 +0200 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2023-04-27 14:10:57 +0200 |
commit | 91d9218c0cc659f40918af6ac6c035c6c48d2c6d (patch) | |
tree | 79054df1730d4723658b02cec311bc8ba7655662 /nx-X11/lib/modules/im/ximcp/imInsClbk.c | |
parent | a502149a844736dcc7f7dedd7c63229c74a448ee (diff) | |
parent | 4875a15ca61358a1c95b156b2279fce092451278 (diff) | |
download | nx-libs-91d9218c0cc659f40918af6ac6c035c6c48d2c6d.tar.gz nx-libs-91d9218c0cc659f40918af6ac6c035c6c48d2c6d.tar.bz2 nx-libs-91d9218c0cc659f40918af6ac6c035c6c48d2c6d.zip |
Merge branch 'uli42-pr/update_libX11_2022' into 3.6.x
Attributes GH PR #1037: https://github.com/ArcticaProject/nx-libs/pull/1037
Diffstat (limited to 'nx-X11/lib/modules/im/ximcp/imInsClbk.c')
-rw-r--r-- | nx-X11/lib/modules/im/ximcp/imInsClbk.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/nx-X11/lib/modules/im/ximcp/imInsClbk.c b/nx-X11/lib/modules/im/ximcp/imInsClbk.c index 214e0a9af..62f157f1d 100644 --- a/nx-X11/lib/modules/im/ximcp/imInsClbk.c +++ b/nx-X11/lib/modules/im/ximcp/imInsClbk.c @@ -162,6 +162,7 @@ _XimRegisterIMInstantiateCallback( { XimInstCallback icb, tmp; XIM xim; + char *modifiers = NULL; Window root; XWindowAttributes attr; @@ -171,11 +172,18 @@ _XimRegisterIMInstantiateCallback( icb = Xmalloc(sizeof(XimInstCallbackRec)); if( !icb ) return( False ); + if (lcd->core->modifiers) { + modifiers = strdup(lcd->core->modifiers); + if (!modifiers) { + Xfree(icb); + return( False ); + } + } icb->call = icb->destroy = False; icb->display = display; icb->lcd = lcd; MakeLocale( lcd, icb->name ); - icb->modifiers = lcd->core->modifiers; /* XXXXX */ + icb->modifiers = modifiers; icb->rdb = rdb; icb->res_name = res_name; icb->res_class = res_class; @@ -258,6 +266,7 @@ _XimUnRegisterIMInstantiateCallback( else picb->next = icb->next; _XCloseLC( icb->lcd ); + XFree( icb->modifiers ); XFree( icb ); } return( True ); |