From b3b6105f0dc52e1cec304876202e20fcc5149d04 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Sat, 13 Dec 2008 22:09:09 +0000 Subject: [PATCH] (x_delete_display): Move xim_close_dpy call to x_delete_terminal. (x_delete_terminal): Call xim_close_dpy. --- src/xterm.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/xterm.c b/src/xterm.c index ffc03bc10e9..c47bd5026f7 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -10523,10 +10523,6 @@ x_delete_display (dpyinfo) #ifndef AIX /* On AIX, XCloseDisplay calls this. */ XrmDestroyDatabase (dpyinfo->xrdb); #endif -#endif -#ifdef HAVE_X_I18N - if (dpyinfo->xim) - xim_close_dpy (dpyinfo); #endif xfree (dpyinfo->x_id_name); @@ -10635,6 +10631,13 @@ x_delete_terminal (struct terminal *terminal) return; BLOCK_INPUT; +#ifdef HAVE_X_I18N + /* We must close our connection to the XIM server before closing the + X display. */ + if (dpyinfo->xim) + xim_close_dpy (dpyinfo); +#endif + /* If called from x_connection_closed, the display may already be closed and dpyinfo->display was set to 0 to indicate that. */ if (dpyinfo->display) -- 2.39.2