changeset 43812:20dbe11a2ad3

Added calls to x_session_check_input () and x_session_initialize ().
author Jan Djärv <jan.h.d@swipnet.se>
date Sun, 10 Mar 2002 16:15:20 +0000
parents 02c8b8c0f570
children 7c1c9baea70f
files src/xterm.c
diffstat 1 files changed, 18 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/xterm.c	Sun Mar 10 16:14:00 2002 +0000
+++ b/src/xterm.c	Sun Mar 10 16:15:20 2002 +0000
@@ -10032,6 +10032,12 @@
 	  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 @@
 			   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 @@
 #endif /* ! defined (SIGWINCH) */
 
   signal (SIGPIPE, x_connection_signal);
+
+#ifdef HAVE_X_SM
+  x_session_initialize ();
+#endif
 }