From 5f30b9577a64efb90b13e18cc158dd06eae8612c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20Dj=C3=A4rv?= Date: Sun, 10 Mar 2002 16:15:20 +0000 Subject: [PATCH] Added calls to x_session_check_input () and x_session_initialize (). --- src/xterm.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/xterm.c b/src/xterm.c index 58a60b59145..41331326ad7 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -10032,6 +10032,12 @@ XTread_socket (sd, bufp, numchars, expected) x_io_error_quitter (dpyinfo->display); } +#ifdef HAVE_X_SM + BLOCK_INPUT; + count += x_session_check_input (bufp, &numchars); + UNBLOCK_INPUT; +#endif + while (XPending (dpyinfo->display)) { XNextEvent (dpyinfo->display, &event); @@ -10114,11 +10120,17 @@ XTread_socket (sd, bufp, numchars, expected) the session manager, who's looking for such a PropertyNotify. Can restart processing when a keyboard or mouse event arrives. */ - if (numchars > 0) + /* If we have a session manager, don't set this. + KDE will then start two Emacsen, one for the + session manager and one for this. */ + if (numchars > 0 +#ifdef HAVE_X_SM + && ! x_session_have_connection () +#endif + ) { f = x_top_window_to_frame (dpyinfo, event.xclient.window); - /* This is just so we only give real data once for a single Emacs process. */ if (f == SELECTED_FRAME ()) @@ -15056,6 +15068,10 @@ x_initialize () #endif /* ! defined (SIGWINCH) */ signal (SIGPIPE, x_connection_signal); + +#ifdef HAVE_X_SM + x_session_initialize (); +#endif } -- 2.39.2